Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 27, 2008 15:41:48

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Модель, аналог foreignkey

Никак не могу правильно соорудить модель.
Например есть

TYPE = (
('pr',u'Производитель'),
('pos',u'Поставщик'),
('pok',u'Покупатель'),
)

class Someclass(models.Model):
type = models.CharField(max_length = 50, choices = TYPE)
name = models.CharField(max_length = 50)
x = models.xfield(Someclass)
То есть хочется сделать так, чтобы были записи вида:
«Производитель» «Пупкин Inc» «»
«Поставщик» «Сумкин C.C.» «Пупкин Inc»
«Покупатель» «Петров П.К.» «Сумкин С.С.»
«Покупатель» «Иванов К.А.» «Сумкин С.С.»
«Покупатель» «Семенов К.П.» «Пупкин Inc»


В общем цель такая — чтобы была одна таблица, и для переменной x выполнялся что-то типа ForeignKey на эту же таблицу.



Офлайн

#2 Авг. 27, 2008 16:29:39

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Модель, аналог foreignkey

http://www.djangoproject.com/documentation/model-api/#many-to-one-relationships

Django documentation
To create a recursive relationship — an object that has a many-to-one relationship with itself — use models.ForeignKey('self').



Офлайн

#3 Авг. 27, 2008 16:41:26

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Модель, аналог foreignkey

Спасибо, оно.
Но есть ошибки, при использовании:
Cannot assign None: “Someclass.x” does not allow null values.



Отредактировано (Авг. 27, 2008 16:58:34)

Офлайн

#4 Авг. 27, 2008 17:23:57

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Модель, аналог foreignkey

null=True, blank=True
написали?



Офлайн

#5 Авг. 27, 2008 17:28:44

niro
От:
Зарегистрирован: 2006-10-04
Сообщения: 178
Репутация: +  0  -
Профиль   Отправить e-mail  

Модель, аналог foreignkey

Теперь да, работает.
Спасибо



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version