模型字段中每个项目的选择



如果我在运动中有 5 种不同的运动,那么在 Intrest 模型中,我想将水平分别放在这 5 项运动中的每一项,并想要打印。怎么做。

考试:板球=进阶

足球=初学者 喜欢这个

class Sports(models.Model):
Sport=models.CharField(max_length=30)
class User(models.Model):
user=models.CharField(max_length=30)
class Intrest(models.Model):
user_name=models.Foreignkey(User,on_delete=models.CASCADE)
sport=models.Foreignkey(Sports,on_delete=models.CASCADE)
LEVEL=(
('1','Beginer'),
('2','Intermediate'),
('3','Advance'),
('4','Nevel Played'),
)
Level=models.CharField(max_length=30,choices=LEVEL)

非常简单!您需要使用您的外键字段!

cricket = Sports.objects.get(Sport='cricket')
interest = Interest.objects.(sport=cricket)
cricket_level = interest.Level
print(cricket_level)

这就是您的models.py最终的外观。其他配置应在admin.pyyour_custom_form.py中完成。

签出内联表单集

class Sport(models.Model):
name=models.CharField(max_length=30)
class User(models.Model):
user=models.CharField(max_length=30)
sport=models.ForeignKey('Interest', on_delete=models.CASCADE)
class Interest(models.Model):
sport=models.Foreignkey(Sport,on_delete=models.CASCADE)
Level_CHOICES=(
('1','Beginner'),
('2','Intermediate'),
('3','Advanced'),
('4','never played'),
)
level=models.CharField(max_length=1,choices=Level_CHOICES)

最新更新