如何在Django模型中实现多对多或外键可选?

2024-09-28 20:46:11 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的模型:

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)

我希望我所有的领域都是空白的。 我怎么能做到呢?在

我有:

^{pr2}$

或者这个字段是必需的,所以。。。在

问候 布西埃


Tags: truemodelspagepresentationnulllengthmaxcharfield
1条回答
网友
1楼 · 发布于 2024-09-28 20:46:11

设置相关字段null=True并更新数据库。

看起来您已经在self_url上设置了null,所以问题是您的数据库没有用这个可为null的信息进行更新。Syncdb不会更新您的表!在

运行python manage.py reset myapp(这将销毁/重新创建表)

相关问题 更多 >