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)
どのようなスキーマの変更がmodels.ForeignKey('Story', null = True)
発生しますか?
私はドキュメントから読んでいます:
remove()とclear()を使用したいのですが、これはドキュメントの一部です。
データベースの不整合を防ぐために、このメソッドはnull=TrueのForeignKeyオブジェクトにのみ存在します。関連フィールドをNone(NULL)に設定できない場合、オブジェクトを別のオブジェクトに追加せずにリレーションから削除することはできません。上記の例では、b.entry_set()からeを削除することは、e.blog = Noneを実行することと同じです。また、ブログのForeignKeyにはnull = Trueがないため、これは無効です。