简体   繁体   English

如何在Django管理表单save_model中获取字段值

[英]how to get field value in django admin form save_model

I have the following model: 我有以下模型:

class Guest(models.Model):
    first_name = models.CharField(max_length=128)
    last_name = models.CharField(max_length=128)
    category = models.ForeignKey(Category)
    player_achievement = models.ForeignKey(PlayerAchievement, related_name="guest_achievements")
    player = models.ForeignKey(Player)

I want to get the player selected in the form to use in my save_model method: 我想在表单中选择要在我的save_model方法中使用的播放器:

def save_model(self, request, obj, form, change):
        player = ??? how do i get this from the admin form?


        obj.player = player
        obj.save()

It depends on how you declared your form. 这取决于您如何声明表格。 If you inherited the ModelForm , then you should in most cases use ModelChoiceField to select the associated Player with your Guest object and this is through calling form.cleaned_data.get('player') 如果您继承了ModelForm ,则在大多数情况下,应通过调用form.cleaned_data.get('player')使用ModelChoiceField选择与Guest对象关联的Player

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM