I like to use a form in a function based view but I like to override the kategoria
select field to show only the objects that related to the user.
models.py
class Blog_poszt(models.Model): def __str__(self): return str(self.user) user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="blog_szerzo") datetime = models.DateTimeField(auto_now_add=True, auto_now=False) cim = models.CharField(max_length=300) cim_slug = models.CharField(max_length=300, null=True, blank=True) szoveg = models.CharField(max_length=10000, null=True, blank=True) kategoria = models.ForeignKey('Blog_kategoriak', on_delete=models.CASCADE, null=True, blank=True) kep = models.FileField(upload_to="blog/", null=True, blank=True)class Blog_kategoriak(models.Model): def __str__(self): return str(self.user) user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="kategoria_szerzo") datetime = models.DateTimeField(auto_now_add=True, auto_now=False) kategoria = models.CharField(max_length=200)
forms.py
class UjBlogposztForm(forms.ModelForm): class Meta: model = Blog_poszt fields = '__all__' exclude = ('user',)
views.py
def blog_poszt(request): form = UjBlogposztForm(request.POST, request.FILES) if request.method == 'POST': if form.is_valid: form.instance.user = request.user form.save() context = {'form': form, }
html
<form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }}<button type="submit" class="btn btn-dark">Mentés</button></form>