python - 如何根据在 Django 的 ModelChoiceField 中选择的值命名模型实例?
问题描述
我有 Django 的问题。我有 Typy 类,我想根据用户名和字段match_to_bet来命名这个类的实例,它是 ModelChoiceField 并且是从基础生成的。
class Typy(models.Model):
users = (('user_1', 'user_1'),
('user_2', 'user_2'))
user = models.CharField(max_length=10, blank=True, choices=users)
mecz = models.ForeignKey('Mecz', on_delete=models.CASCADE, default=0)
choice = Mecz.objects.values()
match_to_bet = ModelChoiceField(queryset=choice, empty_label=None)
bet_home = models.BigIntegerField()
bet_away = models.BigIntegerField()
def __str__(self):
return str(self.user) + '_' + str(self.match_to_bet.__str__())
到目前为止,我得到了带有对象地址的名称,但不知道如何更改代码以获取在match_to_bet当前实例名称中选择的名称' user'_'option
解决方案
ModelChoiceField 用于表单而不是模型。
您想要具有选择属性的 CharField 或 IntegerField。
然后你可以做 get_fieldname_display()