我是Django的新手,我无法理解model.ManyToMany
是如何工作的。 我有这样的模式:Django模型ManyToMany id范例
from django.db import models
class Health_plan(models.Model):
a = models.IntegerField()
b = models.IntegerField()
class Doctors_list(models.Model):
name = models.CharField(max_length=30)
hp_id = models.ManyToManyField(Health_plan)
def __unicode__(self):
return self.name
医生有一个名字和N个健康计划的列表。健康计划可以由N位医生拥有。我将此视为N:N关系,因此我使用ManyToMany来创建关系。'
问题是,此代码生成3个表。 Health_plan,Doctors_list和hp_id。有什么意义?我可以通过它的身份识别号来识别医生,并将其与健康计划的ID相匹配。
健康计划表在此示例中计划为a
和b
,并且默认为一个ID。 Doctor id = 5
将在Health_plan表上的id = 5
行上标记为1 (1 for true, 0 for false)
。
我应该使用另一种模式?提示?
我认为它创建了3个表,因为关系的逆向遍历。虽然我不确定 – 2013-05-01 23:18:41