列表意图不能有多对一的关系

时间:2016-08-22 08:37:44

标签: django foreign-keys

我想以Agent方式向PricingOption添加许多list

class PricingOption(models.Model):
    creation_date = models.DateTimeField(default=timezone.now)
    agents = models.ForeignKey("Agent", related_name='%(class)s_agent')

model是否包含list。列表对象本身是

class Agent(models.Model):
    agent_id = models.CharField(max_length=10)
    ...

现在我尝试做

之类的事情
pricing_option = PricingOption()
pricing_option.agents_set.add(some_agent)

我得到*** AttributeError: 'PricingOption' object has no attribute 'agents_set'

1 个答案:

答案 0 :(得分:2)

ForeignKey表示每个PricingOption只有一个Agent与之关联。这是1对多的关系。

如果您想要撤消此关系,则应在ForeignKeyPricingOptionAgent

如果你想要多对多的关系,你应该查找ManyToManyField

https://docs.djangoproject.com/en/1.10/topics/db/examples/many_to_many/

编辑:

class PricingOption(models.Model):
    creation_date = models.DateTimeField(default=timezone.now)

class Agent(models.Model):
    agent_id = models.CharField(max_length=10)
    pricing_option = models.ForeignKey("PricingOption")

然后Agent a上的a.pricing_option以及代理PricingOption po可以po.agent_set访问_widgetDataService.RetrieveAsync<CollaboratorNetworkEdge>上的定价选项。