如何解决如何在unique_together中使用外键字段进行验证?
In this image admin view is shown.此模型数据将从 django 默认管理端添加添加。 在此图像中显示了管理视图。 我试图使 tournament_date、tournament_time 和 match_type 必须是唯一的条目。
tournament_date 和 match_type 在 MTournament 表中 锦标赛时间在 Mtournament_Time 表中 这就是我在 Mtournament_Time 表中实现 unique_together 的方式。
unique_together = ['mtournament__tournament_date','mtournament__match_type','tournament_time']
class BaseClass(models.Model):
is_active
insert_date
updated_date
class Game(BaseClass):
# is_active,insert_date,updated_date
# name,game_image
name = models.CharField(max_length=16)
game_image = models.ImageField(upload_to='game_images/',default='game_images/game_default.jpg')
class GameMap(BaseClass):
# is_active,updated_date
game = models.ForeignKey(Game,on_delete=models.SET_NULL,null=True)
name = models.CharField(max_length=64)
class Tournament(BaseClass):
CHECK = (
("No","NO"),("Yes","YES"),)
MATCH_TYPE = (
("Solo","SOLO"),("Duo","DUO"),("squad","squad"),)
# is_active,updated_date
# game,name,tournament_date,map,match_type,camera_type,country,country_base
game = models.ForeignKey(Game,null=True)
name = models.CharField(max_length=64)
tournament_image = models.ImageField(upload_to='esports/tournament',default='esports/user/default.png')
country = models.ForeignKey(Country,null=True,default=99)
country_base = models.CharField(choices=CHECK,max_length=8,default='NO')
class MTournament(BaseClass):
MATCH_TYPE = (
("Solo",updated_date
# tournament,mtournament_date,match_type
tournament = models.ForeignKey(Tournament,null=True)
tournament_date = models.DateField(verbose_name='Tournament Date')
map = models.ForeignKey(GameMap,null=True)
match_type = models.CharField(choices=MATCH_TYPE,max_length=32,default=1)
class Mtournament_Time(BaseClass):
# is_active,updated_date
mtournament = models.ForeignKey(MTournament,null=True)
tournament_time = models.TimeField(verbose_name='Multiple Tournament Time')
class Meta:
db_table = 'tbl_mtournament_time'
verbose_name = "Tournament Time"
# Below is the code i want to check
unique_together = ['mtournament__tournament_date','tournament_time']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。