Редактирование нескольких моделей с помощью одной формы или представления в Django

Я использую стандартную модель User в Django и поле OneToOneField в модели Profile, где хранится дополнительная информация, такая как биография пользователя.

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    bio = models.TextField(max_length=500, blank=True)

Я могу самостоятельно создавать базовые формы для двух моделей

from django.contrib.auth.models import User


class UserForm(ModelForm):
    class Meta:
        model = User
        fields = ['username', 'email']

class ProfileForm(ModelForm):
    class Meta:
        model = Profile
        fields = ['bio']

Какой лучший метод создания страницы, на которой пользователь может редактировать поля любой из моделей?

Пользователь может редактировать имя пользователя, электронную почту или био на одной странице?

Вы можете поместить 2 формы в один шаблон и Django будет управлять заполнением форм нужными полями (единственное исключение - одинаковое имя поля в двух формах)

def view(request):
    if request.method == "GET":
        context["userform"]=UserForm()
        context["profileform"] =ProfileForm()
    else:
         userform = UserForm(request.POST)
         profileform=ProfileForm(request.POST)
Вернуться на верх