I'm searching how to submit two forms with two different submit buttons in one view
class EditAvatarForm(forms.ModelForm):
class Meta:
model = Person
fields = ('avatar',)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.user_created = None
avatar = forms.ImageField(required=True, )
self.fields = OrderedDict(
[
("avatar", avatar),
]
)
def clean_avatar(self):
image = self.files.get('avatar')
if image:
try:
creator = None
if self.instance:
creator = self.instance
# ?That simple? Yes!:
return ImageFile.objects.create(
image_file=image, creator=creator
)
except IOError:
self.add_error('avatar', _("Unknown image type"))
return None
def clean(self):
return super().clean()
class EditProfileForm(forms.ModelForm):
class Meta:
model = User
fields = ("username", "first_name", "last_name", "email",)
this is the forms.py I would like to be able to change the avatar and the user informations in a single view.
Person is a model related to User with user = models.OneToOneField( User, blank=True, null=True, on_delete=models.CASCADE )
and related to imageFile with avatar = models.ForeignKey( ImageFile, default=None, blank=True, null=True, related_name="persons", on_delete=models.SET_NULL, )