Я предполагаю, что вы не хотите, чтобы ваши пользователи могли взаимодействовать или изменять эти предварительно заполненные значения.
Я делаю модель комментариев / рецензий и хочу, чтобы она автоматически связывала рецензии с людьми, о которых они
models.py
class Review(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
...
Я скрываю поле person в ReviewsForm, чтобы предотвратить ввод данных пользователем, либо пропустив его из «полей», либо добавив его в «exclude».
forms.py
class ReviewsForm(forms.ModelForm):
class Meta:
model = Review
fields = ('rating', 'summary', 'review_text')
Затем при обработке формы в представлении я использую commit = False, чтобы я мог манипулировать значениями поля перед сохранением в базе данных.
Включите предварительно заполненные значения, сохраните, а затем перенаправьте пользователя туда, где он идеален
views.py
def person(request, area_slug, category_slug, person_id):
...
if form.is_valid():
pending_review = form.save(commit=False)
pending_review.person = Person.objects.get(pk = person_id)
pending_review.save()
return HttpResponseRedirect(...)