1
假設我正在編寫一個應用程序來更改機器中的配置。我有3個創建的表格,如下所示。機器配置顯示了我們機器的當前配置狀態。用戶可以創建他們的票據並請求更改配置。 RequestDetails將保留提出的配置表以及一些額外的信息,例如請求者名稱,日期等。在django模型中使用類作爲另一個類的一部分
這些類只是一個簡單的例子,在真正的模型中,我將有近600 + fields = configuration在類MachineConfiguration中提供。我也應該在RequestDetails類中有完全相同的字段。我想知道當涉及到MachineConfiguration模型中存在的所有字段時,在定義類RequestDetails時不要重複MYSELF?
我想以一種方式編寫它,如果我在MachineConfiguration表中更改了任何內容,同樣的更改也會應用於RequestDetails表。
在此先感謝您的幫助。
class RequestTicket(models.Model):
subject=models.CharField(max_length=50, null=False, blank=False)
description=models.TextField(null=False, blank=True)
class MachineConfiguration(models.Model):
field_1 = models.CharField(null=False,blank=True)
field_2 = models.CharField(null=False, blank=True)
field_3 = models.CharField(null=False, blank=True)
class RequestDetails(models.Model):
tracking_number=models.ForeignKey('RequestTicket')
field_A=models.DateField(null=True, blank=False)
field_B=models.TextField(null=True, blank=False)
field_1 = models.CharField(null=False, blank=True)
field_2 = models.CharField(null=False, blank=True)
field_3 = models.CharField(null=False, blank=True)
我在這種情況下,猜測類NewModel將創建一個只有field3的表,field1和field2將在表BaseModel中創建,這不是我想要的。我想創建兩個表中的每個表中的所有字段。這兩個表格必須相互獨立。如果abstract = True,我不希望在NewModel中指向field1和field2的指針字段 – Ibo
,那麼django不會爲該類創建表。這不是我想要的。我需要爲這兩個類創建表。看到這個django文檔:https://docs.djangoproject.com/en/1.11/topics/db/models/#abstract-base-classes – Ibo
這就是我在回答中所說的。假設你想創建5個帶有3個相同字段的模型,在你想創建數據庫表的模型中繼承這個模型 – Aniket