我正在嘗試將血型復(fù)制為圖中定義的模型。在我的 models.py 文件中,我有我的代碼來復(fù)制這樣的血型class BloodGroup(models.Model): name = models.CharField( max_length=3 ) gives = models.ManyToManyField("self") receives = models.ManyToManyField("self") def __str__(self): return self.name在我的 admin.py 文件中,我按如下方式注冊(cè)了模型class BloodGroupAdmin(admin.ModelAdmin): model = BloodGroup list_display = ['name', 'get_gives', 'get_receives'] def get_gives(self, obj): return ", ".join([item.name for item in obj.gives.all()]) def get_receives(self, obj): return ", ".join([item.name for item in obj.receives.all()])admin.site.register(BloodGroup, BloodGroupAdmin)最初,我創(chuàng)建了普通的 BloodGroup 對(duì)象,沒有它們的 gives 和 receives 屬性,只提供了它們的名稱。因此,我為所有 8 種類型創(chuàng)建了一個(gè)對(duì)象。然后,當(dāng)我向每個(gè)對(duì)象添加關(guān)系時(shí),我發(fā)現(xiàn)為一個(gè)對(duì)象添加給予或接收也會(huì)影響其他對(duì)象的給予和接收,從而無法復(fù)制圖像中的結(jié)構(gòu)。如何在不影響其他對(duì)象的情況下定義關(guān)系?在我的管理站點(diǎn)中,我看到字段名稱為“get_gives”和“get_receives”。我如何使管理頁面將字段名稱顯示為“提供”和“接收”,但仍將對(duì)象顯示為如下圖所示的字符串?
停止影響 Django 多對(duì)多模型的其他對(duì)象
慕田峪7331174
2023-05-23 10:21:44