【发布时间】:2015-08-11 07:43:24
【问题描述】:
我有一些模型:
from salesforce.models import SalesforceModel
class Task(SalesforceModel):
card = models.CharField(max_length=32)
who = models.ForeignKey(Lead) # here may be Lead or Contact model ID
还有一些更新数据的功能:
def set_contact(contact):
...
# Trying to change
Task.who = models.ForeignKey(Contact)
# Or so:
Task._meta.get_field('who').to = Contact
task = Task.objects.get(...)
task.who = contact
当然 django 不允许更改值。
ValueError: Cannot assign "Contact: Some Contact": "Task.who" must bea "Lead" instance.
【问题讨论】:
-
你确定这行得通吗?如果您有一个“谁”为 341 的任务,您如何知道是查找联系人号码 341 还是潜在客户号码 341?
-
是的,每条记录都有整个数据库的唯一 ID
标签: python django django-models django-orm