Я только что понял для проверки правильности, что все поля должны быть указаны в представлении на основе классов, даже если эти поля не должны быть заполнены пользователем.
class BadgesUpdateView(UpdateView):
model = Badge
# restaurant field must be included for validation even if the user does NOT fill it.
fields = ('identifier', 'is_active', 'owner', 'restaurant')
def get_form(self, form_class=None):
form = super().get_form(form_class)
form.fields['restaurant'].widget = forms.HiddenInput()
return form