TypeError в /vendor/add-Menuproduct/ __init__() принимает 2 позиционных аргумента, но было задано 3

form.py

from django.forms import  models
from django.forms import ModelForm, Textarea

from product.models import Product,MenuProducts

from django import forms
class ProductForm(ModelForm):
    class Meta:
        model = Product
        fields = ['category', 'image', 'title', 'description', 'price','stock']



class MenuProductForm(ModelForm):
    # Time = models.DateTimeField(widget=forms.DateInput(attrs={'class': 'form-control'}))
    class Meta:
        model = MenuProducts
        fields = [ 'YourProduct', 'Stock', 'Day', 'Time','city',
                  'address', 'ingredientA', 'ingredientB', 'ingredientC', 'PriceRange','city']
    def __init__(self, user, **kwargs):
        super(MenuProductForm, self).__init__(**kwargs)
        self.fields['YourProduct'].queryset = Product.objects.filter(vendor__name=user)
        
        # widgets = {
        #     'Time': forms.DateInput(attrs={'class': 'form-control'})
        # }




form.py

@login_required
def add_Menu_product(request):
    if request.method == 'POST':
        print("Add Menu Product")
        print(request.user.vendor)
        form = MenuProductForm(request.POST, request.FILES)
        
        if form.is_valid():
            Menuproduct = form.save(commit=False) # Because we have not given vendor yet
            Menuproduct.vendorfk = request.user.vendor
            
            
            # Menuproduct.slug = slugify(Menuproduct.title)
            Menuproduct.save() #finally save

            return redirect('vendor:vendor-admin')

    else:
        print("Form ")
        form = MenuProductForm(user=request.user.vendor)
        print(request.user.vendor)

    return render(request, 'vendor/add_menu_product.html', {'form': form})

Что нужно сделать для решения этой проблемы TypeError at /vendor/add-Menuproduct/ init() takes 2 positional arguments but 3 were given Что нужно сделать, чтобы решить эту проблему TypeError at /vendor/add-Menuproduct/ init() принимает 2 позиционных аргумента, но было задано 3

Вернуться на верх