Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос про foreignkey в Django models 
:(
    Опции темы
Nookie
Дата 22.9.2011, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 4.7.2005
Где: Россия, Москва

Репутация: нет
Всего: нет



Доброе время суток.
Допустим есть две модели:

Код

class Company(models.Model):
    name = models.CharField(max_length=250)
    ...

class Contact(models.Model):
    company = models.ForeignKey(Company)
    phone = models.CharField(max_length=100)
    ...


Делаю вот так:
Код

company = Company()
company.name = 'firma'
company.save()

contact = Contact()
contact.company = company
contact.phone = '12345679'
contact.save()


получается так что Компания(Company()) с именем(name) сохраняется 2 раза, в базе получается 2 записи... как сделать так, чтобы этого не было, не сохранялось при сохранении контакта(Contact())?
--------------------
Хочу знать все!!!
PM MAIL ICQ Skype   Вверх
bilbobagginz
Дата 11.1.2012, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



Код

company = Company()
company.name = 'firma'
company.save()

contact = Contact()
contact.company =  Company.objects.get(name='firma')
contact.phone = '12345679'
contact.save()



Добавлено через 2 минуты и 12 секунд
Цитата(Nookie @  22.9.2011,  06:04 Найти цитируемый пост)
получается так что Компания(Company()) с именем(name) сохраняется 2 раза, в базе получается 2 записи

все зависит от требований.
обычно в схему бд модели вносятся разного рода ограничения - уникальность, и верификации, нуллификация, и т.д.


Это сообщение отредактировал(а) bilbobagginz - 11.1.2012, 00:49


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Ch0bits
Дата 8.5.2012, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: нет
Всего: 62



Цитата(Nookie @  22.9.2011,  07:04 Найти цитируемый пост)
получается так что Компания(Company()) с именем(name) сохраняется 2 раза, в базе получается 2 записи... как сделать так, чтобы этого не было, не сохранялось при сохранении контакта(Contact())? 

Что за бред? 1 раз сохраняется компания и 1 раз контракт! Как ты определил что 2 раза?

bilbobagginz, твой код ничем не отличается, кроме того что get делает лишний запрос в БД.

Это сообщение отредактировал(а) Ch0bits - 8.5.2012, 14:09
PM WWW   Вверх
bilbobagginz
Дата 9.6.2012, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: нет
Всего: 317



Цитата(Ch0bits @  8.5.2012,  13:08 Найти цитируемый пост)
bilbobagginz, твой код ничем не отличается, кроме того что get делает лишний запрос в БД.

угу. смотрю на это сейчас и диву даюсь.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
gomer999999999
Дата 3.2.2013, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 3.2.2013

Репутация: -1
Всего: -1



Добрый день.
Предлагаем к рассмотрению и тестированию наш проект - Маркетер Плагин.
Продвигаем его успешно во всем мире. Но только 27 января 2013 предоставили в Рунете к тестированию русифицированный плагин с русифицированным интерфейсом. Вся подробная информация наhttp://www.marketerplugin.ru/ 
Предлагаем протестировать наш плагин на только что русифицированном интерфейсеhttp://www.marketerplugin.ru/test_plagina.
В двух словах: плагин предназначен для создания сайтов-визиток и страниц продаж.
Ждем ваших комментариев, отзывов и критики.
Так же будем рады видеть вас на наших страницах в соц сетях
http://www.facebook.com/pages/Marketer-plugin/5288148..
http://vk.com/club46912629
Успехов и новых впечатлений.
С уважением, Богдан
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.