・1:1で紐付いているUserModelとUserImage Modelがございます。
・一つのフォーム(画面上から、User情報とUserImage情報を一括を登録したいと考えています。
・一つのフォームから複数のモデルへの書き込みで一般的な方法がわからず、ご教授いただけないでしょうか?
python(View.py)
1class UserUpdate(UpdateView): 2 model = User 3 template_name = "userauth/customuser_edit.html" 4 success_url = "/"
python(form.py)
1class UserUpdateForm(forms.ModelForm): 2 def __init__(self, *args, **kwargs): 3 super(UserUpdateForm, self).__init__(*args, **kwargs) 4 for field in self.fields.values(): 5 field.widget.attrs["class"] = "form-control" 6 7 class Meta: 8 model = User 9 fields = '__all__'
python(models.py)
1 2class User(AbstractBaseUser, PermissionsMixin): 3 """カスタムユーザーモデル.""" 4 5 date_joined = models.DateTimeField(_('date joined'), default=timezone.now) 6 login_count = models.IntegerField(_('ログイン回数'), default=0) 7 profile = models.TextField(verbose_name='プロフィール',default="",null=True,blank=True) 8 9 class Meta: 10 verbose_name = _('user') 11 verbose_name_plural = _('users') 12 13 def get_full_name(self): 14 """Return the first_name plus the last_name, with a space in 15 between.""" 16 full_name = '%s %s' % (self.first_name, self.last_name) 17 return full_name.strip() 18 19 def get_short_name(self): 20 """Return the short name for the user.""" 21 return self.first_name 22 23class UserImage(models.Model): 24 user = models.ForeignKey(User,on_delete=models.DO_NOTHING) 25 upload_image1_url = models.URLField(default='',null=True,blank=True) 26 27
ご確認よろしくお願い致します。
あなたの回答
tips
プレビュー