0
使用Django,我正在創建一個數據庫,用於跟蹤論壇中未回覆的帖子,以及/員工(操作員)分配給該帖子。帶中間表的Django數據庫設計 - 這個實例如何?
模型Operator
和ThreadVault
是永久性的,而Thread
是中間/溫度。
我會打電話給論壇,每十分鐘收到一次沒有回覆的帖子。然後我會檢查模型ThreadVault
中是否已經存在thread ID
。如果不是,它會將其添加到ThreadVault
。然後,我將有一個臨時/中間表Thread
,其中包含過去10分鐘內未回覆的帖子。每隔10分鐘後,表Thread
將清除並刷新一批未答覆的線程。
操作員/員工可能會或可能不會被分配到該線程。要做到這一點,我有ThreadVault
operator_user_name
指向Operator
模型。
class Operator:
operator_ldap = models.ForeignKey(settings.AUTH_USER_MODEL,
related_name='operator_requester')
operator_irc_name = models.CharField(max_length="25")
operator_user_name = models.CharField(max_length="25")
class ThreadVault:
thread_id = models.CharField(max_length="50")
url = models.CharField(max_length="200")
operator_user_name = models.ForeignKey(Operator) ## Can be Empty
#intermediate table
#Thread model clears out once every
#10 minutes when API repopulates data
class Thread:
url = models.ForeignKey(ThreadVault)
author_username = models.CharField(max_length="50")
author_name = models.CharField(max_length="50")
thread_id = models.ForeignKey(ThreadVault)
forum_id = models.CharField(max_length="50")
subject = models.CharField(max_length="200")
reply_count = models.CharField(max_length=("3"))
latest_post_date = models.CharField(max_length=("50"))
operator_user_name = models.ForeignKey(ThreadVault) ## Can be Empty
我知道在這一點上,我沒有正確地做到這一點。我怎樣才能做到這一點?