【发布时间】:2015-12-21 08:39:44
【问题描述】:
一篇文章只能有 1 个当前修订版,但可以有多个历史修订版。每个修订都属于文章。
型号:
class Article(models.Model):
published = models.BooleanField(default=False)
current_revision = models.ForeignKey('Revision', related_name='current_revision', blank=False, default=None)
class Revision(models.Model):
article = models.ForeignKey('Article', null=True)
title = models.CharField('Title', max_length=250, blank=False, default='(no title)')
content = RedactorField('Content')
created_at = models.DateTimeField('Created at', auto_now=True)
slug = models.SlugField('Slug', blank=False, null=True)
查看:
if article_form.is_valid() and revision_form.is_valid():
article = article_form.save(commit=False)
revision = revision_form.save()
article.current_revision = revision
article.save()
print(article)
revision.article = article
revision.save()
可以拨打save 3 次吗?或者是否可以通过 2 次保存来保存 2 个模型?
【问题讨论】:
-
你可以
save()任意多次,我看不出有什么问题。 -
我认为将 FK 设置为可空修订更有意义。
标签: django django-models foreign-keys