【发布时间】:2016-12-07 05:09:11
【问题描述】:
型号
class ShowDetail(models.Model):
title = models.CharField(max_length=100)
class SeasonDetail(models.Model):
title = models.ForeignKey(ShowDetail, on_delete=models.CASCADE)
class EpisodeDetail(models.Model):
showTitle = models.ForeignKey(ShowDetail, on_delete=models.CASCADE)
seasonNumber = models.ForeignKey(SeasonDetail, on_delete=models.CASCADE)
episodeTitle = models.CharField(max_length=100, null=True, blank=True)
episodeNumber = models.CharField(max_length=5, null=True, blank=True)
逻辑
episode_update.seasonNumber = SeasonDetail.objects.filter(title=showname).values('season')
我想检查给定电视节目(Arrow、The Flash 等)的季节值(01、02、03 等)。
当我尝试在 EpisodeDetail 模型中更新季节值时,出现以下错误:
invalid literal for int() with base 10: 'The Flash'
当我使用时
episode_update.seasonNumber = SeasonDetail.objects.filter(title=showname).values_list('season', flat=True)
遇到错误
invalid literal for int() with base 10: 'The Flash'
当我使用
episode_update.seasonNumber = SeasonDetail.objects.filter(title=ShowDetail.objects.get(title=showname)).values_list('season', flat=True)
我得到了
Cannot assign "['01']": "EpisodeDetail.seasonNumber" must be a "SeasonDetail" instance.
【问题讨论】:
标签: mysql django django-models sqlite django-orm