Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 使用基于ModelForm的表单中的数据填充外键字段_Django_Django Forms - Fatal编程技术网

Django 使用基于ModelForm的表单中的数据填充外键字段

Django 使用基于ModelForm的表单中的数据填充外键字段,django,django-forms,Django,Django Forms,我已按如下所示设置了我的模型: Models.py class Customer(models.Model): CustomerID = models.CharField(max_length=50) Name = models.CharField(max_length=50) Mobile = models.CharField(max_length=15) def __unicode__(self): return self.Customer

我已按如下所示设置了我的模型:

Models.py

class Customer(models.Model):

    CustomerID = models.CharField(max_length=50)
    Name = models.CharField(max_length=50)
    Mobile = models.CharField(max_length=15)

    def __unicode__(self):
        return self.CustomerID

class orderHistory(models.Model):

    BookingNumber = models.CharField(max_length=50)
    customer = models.ForeignKey(Customer)
    def __unicode__(self):
        return self.BookingNumber
我还使用ModelForm设置了forms.py:

class customerForm(ModelForm):
    class Meta:
        model = Customer
        exclude = ['CustomerID'] 
my views.py中的函数如下所示:

    if request.method == 'POST':
    form = customerForm(request.POST or None)
    # check whether it's valid:
    if form.is_valid():
        instance = form.save()
        if not instance.CustomerID:
            instance.CustomerID = 'DHOBI' + instance.Mobile

        instance.save()    
        return HttpResponseRedirect('/data/test')

    else:
        form = customerForm()
return render(request, "data/index.html",{'form':form})
我的问题是,在获得客户模型的数据后,如何将BookingNumber中的数据填入数据库?我的意思是,如果我想将预订号码设置为Mobile+今天的日期和时间。 我该怎么做呢

import datetime
bn = "%s-%s" % (instance.Mobile,str(datetime.datetime.now())
order_hist = orderHistory.objects.create(customer=instance, BookingNumber=bn)
只需注意类的命名:将类命名为大写,属性命名为小写。你把它倒过来