0
各ユーザは、このように、複数の敵を持つことができます。保存する前にDjangoフォームを変更するには?私のプロジェクトで
モデル
class EnemyModel(models.Model):
name = models.CharField(max_length=128)
weapon = models.CharField(max_length=128)
related_user = models.ForeignKey(UserProfile)
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
のみユーザーは自分のプロフィールに敵を追加することができますので、私はこのような形をした:
フォーム
class AddEnemyForm(forms.ModelForm):
class Meta:
model = EnemyModel
exclude = ['related_user'] # only current user
私の考えましたビューで除外フィールドを変更するには、それが動作しません:
ビューの前にフォームを変更保存方法
def add_enemy(request):
args={}
if request.method == "POST":
form = AddEnemyForm(request.POST)
form.related_user = request.user # error
# form.related_user_id = request.user.id # also error
if form.is_valid():
form.save()
return HttpResponse("<h1>Done!</h1>")
else:
args.update(csrf(request))
args["form"]=form
return render_to_response("add_enemy.html",args)
args.update(csrf(request))
args["form"]=AddEnemyForm()
return render_to_response("add_enemy.html",args)
を?
ありがとうございます! – user2449761