Django как назначать сообщения пользователю - PullRequest
2 голосов
/ 29 мая 2020

Мне нужно назначить сообщения пользователю в Django. Я создал

    user = models.ForeignKey('authentication.CustomUser', on_delete=models.CASCADE)

, а затем, если я отображу эту модель в своей форме. html Я должен выбрать одного из всех пользователей, если я не отображаю пользователя в своей форме. html форма не сохраняет файл моих просмотров:

def formularz(request):
form = DodajForm(request.POST)   
if form.is_valid():
    ogloszenie = form.save(commit=False)
    ogloszenie.user = request.user 
    ogloszenie.save()
    return redirect('atrakcje:after') 
else:
    ogloszenie = DodajForm()
context = {
            'form': form,}
return render(request, 'formularz.html', context)

Могу я узнать, как решить эту проблему?

1 Ответ

0 голосов
/ 29 мая 2020

Перепишите форму в exclude поле user:

class DodajForm(forms.ModelForm):
    class Meta:
        model = Dodaj
        <b>exclude = ['user']</b>

В представлении лучше изменить экземпляр и позволить форме сохранить logi c, поскольку ModelForm также может сохранять поля типа «многие ко многим»:

def formularz(request):
    if request.method == 'POST':
        form = DodajForm(request.POST, request.FILES)
        if form.is_valid():
            form<b>.instance.user = request.user</b>
            <b>form.save()</b>
            return redirect('atrakcje:after') 
    else:
        ogloszenie = DodajForm()
    context = {'form': form}
    return render(request, 'formularz.html', context)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...