Объекты не загружают объект в БД

Я пытаюсь загрузить объект в DB, используя django, но ничего не происходит. Я выполняю команды makemigration, migrate.

admin.py

from .models import Product
admin.site.register(Product)

models.py

class Product(models.Model):
    user = models.OneToOneField(User, null = True, on_delete=models.CASCADE)
    #data = models.DateTimeField(verbose_name='date joined', auto_now_add=True)
    productC = (
        ('apple', 'apple'),
        ('water', 'water'),
        ('tomato', 'tomato'),
    )
    productChoose = models.CharField(max_length=10, blank=False, null= False, choices = productC)
    numbers= models.PositiveIntegerField()

    def __str__(self):
        return f"{self.user}"

forms.py

class ProductForm(forms.ModelForm):
    class Meta:
        model= Product
        fields =['productChoose', 'numbers',]
        productC = (
        ('apple', 'apple'),
        ('water', 'water'),
        ('tomato', 'tomato'),
        )

        widgets = {
           # 'data': forms.DateTimeField(attrs= {'class': 'form-control'}),
            'productChoose': forms.Select(choices= productC, attrs= {'class': 'form-control'}),
            'numbers': forms.NumberInput(attrs= {'class': 'form-control'}),
        }
        def clean_productChoose(self):
            if self.is_valid():
                productChoose=self.cleaned_data['productChoose']
                return productChoose
        
        def clean_numbers(self):
            if self.is_valid():
                numbers=self.cleaned_data['numbers']
                return numbers

view.py

def training_view(request, *args, **kwargs):
    if not request.user.is_authenticated:
        return redirect('/login')
    
    context = {}
    if request.method=="POST":
        products=ProductForm(request.POST, instance = request.user)
        if products.is_valid():
            
            products.save()
            return redirect('/home')
        messages.info(request, 'Your training  has been send with success!')
    else:
        products=ProductForm(instance = request.user)
    context['products']= products
    return render(request, 'product.html', context)

product.html

{% block content%}
<form method="POST" action=".">
    {% csrf_token %}

    <h1>Products </h1>

    <div class="container">
        {% csrf_token %}
        <p>
            <label for="productChoose"><b>Product </b></label>
            {{products.productChoose}}
        </p>

        <p>
            <label for="numbers"><b>Numbers: </b></label>
            {{products.numbers}}
        </p>
        
        <button type="submit" name="submit" > Submit </button>
    </div>
</form>
{% endblock%}

Я пытался добавить в представление, после if products.isValid() this: **Product.objects.create(products.cleaned_data), но он не сохраняется под username.

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