Как сделать много-много или внешний ключ, не требующийся в модели для django? - PullRequest
0 голосов
/ 20 апреля 2011

вот моя модель:

class Page(models.Model):
    template = models.CharField(max_length=200,blank=True)
    self_url = models.ForeignKey('liens.Lien',null=True,blank=True)
    Categorie = models.ForeignKey(Categorie_Page,null=True,blank=True)
    Liens = models.ManyToManyField('liens.Lien',related_name="Liens sur la page",null=True,blank=True)
    Nom = models.CharField(max_length=200)
    ImagesSite = models.ManyToManyField('presentation.ImageSite',null=True,blank=True)
    Texte_contenu = models.ManyToManyField('presentation.Texte_contenu',null=True,blank=True)
    Note_divers = models.ManyToManyField('notes.Note_divers',null=True,blank=True)  
    MiseEnForme = models.ManyToManyField('presentation.MiseEnForme',null=True,blank=True)
    Menu = models.ManyToManyField('presentation.Menu',null=True,blank=True)
    Avis = models.ManyToManyField('moteur.Avis',null=True,blank=True)
    Regle = models.ManyToManyField('regles.Regle',null=True,blank=True)
    Pack = models.ManyToManyField('moteur.Pack',null=True,blank=True)
    Imageventes = models.ManyToManyField('moteur.ImageVente',null=True,blank=True)
    Film = models.ManyToManyField('moteur.Film',null=True,blank=True)
    ImageFilm = models.ManyToManyField('moteur.ImageFilm',null=True,blank=True)
    ImageActeur = models.ManyToManyField('moteur.ImageActeur',null=True,blank=True)
    generated = models.DateTimeField('date published',blank=True)
    modified = models.DateTimeField('date modified',blank=True)
    protege = models.BooleanField(blank=True)

и я хочу, чтобы все мое поле могло быть пустым. Как я могу это сделать?

У меня есть:

pages_page.self_url_id may not be NULL

или это поле обязательно для заполнения ...

С уважением Bussiere

1 Ответ

3 голосов
/ 20 апреля 2011

Установите в соответствующие поля null=True и обновите базу данных.

Похоже, вы уже установили значение null на self_url, поэтому проблема в том, что ваша база данных не была обновлена ​​этой обнуляемой информацией. Syncdb не будет обновлять ваши таблицы!

Выполнить python manage.py reset myapp (это уничтожит / воссоздать вашу таблицу)

...