Как мне сделать user = request.user в views.py только потому, что у меня есть внешний ключ в моей модели?
Как мне обновить поле пользователя в файле views.py только потому, что у меня есть представление для редактирования и удаления сообщений, связанных с пользователем. У меня также есть представление, которое получает продукты с user == request.user и показывает их на странице профиля. Почти весь мой сайт зависит от создания постов. Пожалуйста, дайте мне знать, как я могу обновить внешний ключ пользователя при сохранении формы (например: product.user = request.user )
.Мой Models.py
```class Product(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
title = models.CharField(max_length=150)
details = models.TextField(default="...") ....```
Мой Forms.py
```class AddUserPacksForm(forms.ModelForm):
user = forms.ModelChoiceField(label="",
queryset=User.objects.all(),
widget=forms.HiddenInput(), required=False)
title = forms.CharField(label='Title', widget=forms.TextInput(
attrs={'class': 'form-control'}))
details = forms.CharField(label='Description', widget=forms.Textarea(
attrs={'class': 'form-control'}))
image = forms.FileField(label='Thumbnail', widget=forms.FileInput(
attrs={'class': 'form-control'}))
sp = forms.IntegerField(label='Selling Price', widget=forms.NumberInput(
attrs={'class': 'form-control'}))
dp = forms.IntegerField(label='Discounted Price', widget=forms.NumberInput(
attrs={'class': 'form-control'}))
buy_link = forms.CharField(
label='Buy Link ( i.e Instagram Link, Shorten Urls, Your Own Website Link Where Users can Buy This Pack, etc )', widget=forms.TextInput(attrs={'class': 'form-control'}))
category = forms.ChoiceField(label='Category', choices=CHOICES, widget=forms.Select(attrs={'class': 'form-control'}))
class Meta:
model = Product
fields = ['title', 'details', 'image',
'sp', 'dp', 'buy_link', 'category']```
Мой Views.py
```def AddUserPacks(request):
if request.method == "POST":
userform = AddUserPacksForm(request.POST, request.FILES)
if userform.is_valid():
userpacks = userform.save(commit=False)
userform.user = request.user.get_profile()
userpacks.save()
messages.success(request, f'Successfully Uploaded the post')
return redirect('home')
else:
messages.info(request,"Something is wrong, Try Again")
else:
userform = AddUserPacksForm()
return render(request, "gfx/post/post.html", {'form': userform})```