型号什么是Django的ORM等价于SELECT col1 FROM table WHERE col2 = somestring?
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')
我要检查的季节值(01,02,03等)都存在给定的电视节目(箭,闪电侠等)。
我得到下面的错误,当我尝试更新EpisodeDetail模型季节值:当我使用
episode_update.seasonNumber = SeasonDetail.objects.filter(title=showname).values_list('season', flat=True)
得到错误
invalid literal for int() with base 10: 'The Flash'
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.
没有工作,我已经在问题中添加了细节。请告知或让我知道是否需要更多细节。 – sid8491
@ sid8491更新了它。核实。 – levi
仍然会出现相同的错误: int()与基数10的无效文字:'Flash' 如果我使用 episode_update。season_number ='season',flat = True) 然后我得到下面的错误: 无法赋值“['01']” :“EpisodeDetail.seasonNumber”必须是“SeasonDetail”实例。 – sid8491