2013-11-01 56 views
0

我有Thread和Post模型。django,創建兩個相關的模型實例

郵政有一個ForeignKey主題(主題有很多文章)
線程都有一個OneToOneKey早報(線程都有一個特殊的職位)

在一個帖子表單提交,我創建Thread和Post對象。

t = Thread.objects.create() 
p = Post.objects.create(thread=t) 

t.special_post = p 
t.save() 

有沒有辦法強制約束(線程應該有一個special_post,後期應該有一個線程)在Django的DB水平?

+0

模型中的'null = False'和'blank = False'應該這樣做。 – Rohan

回答

0

使用的Django模型class.It的multi-table inheritance一種可能的方式看起來像普通的Python類繼承,但它會自動建立ThreadPost之間的一個一對一的關係:

class Thread(models.Model): 
    ... 

class Post(Thread): 
    ... 

變更後,也許您只需要使用Post模型進行操作,您可以通過post_instance.thread訪問線程。

相關問題