django ForeignKey null = true

from django.db import models

class Story(models.Model):
    id = models.IntegerField(primary_key=True)
    news_type = models.CharField(max_length=255,null=True)
    category_id = models.CharField(max_length=255,null=True)
    title = models.CharField(max_length=255,null=True)
    created = models.DateTimeField(null=True)
    author = models.CharField(max_length=255, null=True)
    author_title = models.CharField(max_length=255, null=True)
    image_caption = models.TextField(null=True)
    image_credit = models.CharField(max_length=255,null=True)
    image_full_url = models.CharField(max_length=255,null=True)
    body = models.TextField(null=True)
    summary = models.TextField(null=True)
    video_id = models.CharField(max_length=255,null=True)
    external_url = models.CharField(max_length=255,null=True)
    order = models.IntegerField(null=True)

class StoryFactBox(models.Model):
    story = models.ForeignKey('Story', null = True)
    body = models.TextField()

class StoryKeyword(models.Model):
    story = models.ForeignKey('Story', null = True)
    keyword = models.CharField(max_length=255)

Welche schema-änderungen models.ForeignKey('Story', null = True) Ursache geschehen?

Lese ich aus den docs:

Ich verwenden möchten, entfernen() und clear () - und dies ist Teil der Dokumentation.

Um zu verhindern, dass Datenbank-Inkonsistenz existiert diese Methode nur auf die ForeignKey-Objekte, wobei null=True. Wenn das zugehörige Feld nicht auf None gesetzt sein (NULL), dann ein Objekt kann nicht entfernt werden, aus einer Beziehung, ohne in ein anderes. In dem oben genannten Beispiel entfernen von e aus b.entry_set() ist äquivalent zu elektronischen.blog = Keine, denn der blog ForeignKey nicht null=True, ist dies ungültig.

InformationsquelleAutor Chris Muench | 2013-02-08

Schreibe einen Kommentar