我可以使用以下现有代码(我仅包含相关部分)。models.pyclass Customer(models.Model): customer_id = models.CharField(primary_key=True, max_length=16) account_phone = PhoneNumberField(null=True, blank=True, max_length=255) display_phone = PhoneNumberField(null=True, blank=True, max_length=255) . . .客户.py@render_to('customer/edit.html')def edit(request, customer_id): customer = Customer.objects.get(customer_id=customer_id) if not request.POST: return dict(form=CustomerForm(instance=customer)) submit = request.POST.copy() submit['customer_id'] = customer.customer_id form = CustomerForm(submit, instance=customer) if not form.is_valid(): return dict(form=form) _f = form.save(commit=False) _f.save()class CustomerForm(ModelForm): . . . def __init__(self, *args, **kwargs) super(CustomerForm, self).__init__(*args, **kwargs) . . class Meta: model = Customer我需要在CustomerForm中添加一个名为的查询,该查询assigned_numbers将使我能够从中获取电话号码account_phone并与display_phone关联customer_id。我对如何正确运行查询感到困惑,不胜感激任何建议。如果我需要提供更多信息,请告诉我。
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
您的表单是的模型表单customer,因此它将具有account_phone和的字段,display_phone除非您以排除它们的方式指定了字段。
如果您除了需要根据他们的客户实例开始填充他们的字段之外,还需要对他们做一些事情,那么您可以访问form.instance.account_phone或进行其他操作。
如果由于某种原因更方便,则在您的__init__方法中,您可以访问instance从kwargs以查找值。
def __init__(self, *args, **kwargs)
super(CustomerForm, self).__init__(*args, **kwargs)
if 'instance' in kwargs:
self.assigned_numbers = (instance.account_phone, instance.display_phone)
添加回答
举报
0/150
提交
取消