簡體   English   中英

如何制作Django模型不需要的多對多或外鍵?

[英]How to make a many to many or a foreign key not required in a model for django?

這是我的模特:

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

在相關字段上設置null=True並更新數據庫。

看來您已經在self_url上設置了null,所以問題在於您的數據庫尚未使用此可為空的信息進行更新。 Syncdb不會更新您的表!

運行python manage.py reset myapp (這將破壞/重新創建表)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM