python: model: может ли атрибут ссылаться на атрибут из той же модели? - PullRequest
1 голос
/ 24 февраля 2011

( этот вопрос, вероятно, выиграет приз за самый глупый вопрос, но я попробую )

У меня есть простой класс меню в моих моделях:

class Menu(models.Model):
name = models.CharField(null=False, blank=False,unique=True,max_length=50)
url = models.CharField(null=False, blank=False, unique=True,max_length=100)
sortOrder = models.IntegerField(null=False, blank=False, default=0)

это, к счастью, позволит мне построить один уровень пунктов меню.

Если бы я хотел пойти дальше и добавить еще один уровень, как мне сделать ссылку на элемент и идентификатор из той же модели и убедиться, что этот идентификатор не является идентификатором того же элемента?

так что на самом деле есть два вопроса:

1. как установить ForeignKey и id из того же класса? Ссылка ни на Меню, ни на себя не будет подтверждена:

class Menu(models.Model):
name = models.CharField(null=False, blank=False,unique=True,max_length=50)
url = models.CharField(null=False, blank=False, unique=True,max_length=100)
sortOrder = models.IntegerField(null=False, blank=False, default=0)
**parent = models.ForeignKey(Menu)**

бросит:

NameError: имя 'Menu' не определено

2. как мне убедиться, что идентификатор этого элемента не является идентификатором этого элемента?

1 Ответ

1 голос
/ 24 февраля 2011

Попробуй себя

parent = models.ForeignKey( 'self' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...