我有以下现有代码可供使用(我只包括相关部分)。
models.py
class 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)
.
.
.
customer.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
相关联的电话号码}。我正在坚持如何正确运行查询,并将非常感谢任何建议。如果我需要提供更多信息,请告诉我。
答案 0 :(得分:0)
您的表单是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)