Django ManyToManyField初始

时间:2018-11-02 02:24:09

标签: django python-3.x

自动填充ManyToManyField不起作用。 我尝试了herehere的所有变体。但是他们没有工作。 我的模特:

class MyUser(AbstractBaseUser):
    email = models.EmailField(max_length=100, unique=True)

class Order(models.Model):
    user = models.ManyToManyField(MyUser)
    quantity = models.PositiveIntegerField(default=1)

我的表单:

class OrderForm(forms.ModelForm):

    user = forms.ModelMultipleChoiceField(queryset=None, to_field_name='email')

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['user'].queryset = MyUser.objects.all()

我的观点:

def product_order(request, id):
    if request.method == 'POST':
        form = OrderForm(request.POST or None, initial={'user': request.user.email})
        if form.is_valid():
            new_form = form.save()

            return HttpResponseRedirect('/shop/')
    else:
        form = OrderForm()

    return render(request, 'shop/product_detail.html', locals())

0 个答案:

没有答案