过滤带有空曲目集的唱片集Django Model
我有两种型号:过滤带有空曲目集的唱片集Django Model,django,django-models,Django,Django Models,我有两种型号: class Album(models.Model): album_name = models.CharField(max_length=100) artist = models.CharField(max_length=100) class Track(models.Model): album = models.ForeignKey( Album, related_name='tracks', on_delete=mod
class Album(models.Model):
album_name = models.CharField(max_length=100)
artist = models.CharField(max_length=100)
class Track(models.Model):
album = models.ForeignKey(
Album, related_name='tracks',
on_delete=models.CASCADE,
null=True
)
order = models.IntegerField()
title = models.CharField(max_length=100)
duration = models.IntegerField()
现在,我如何才能获得带有空曲目集的专辑集?
请阅读文档。您不能保存字段没有值的模型,或者需要有null=True
才能在数据库中保存空字段
models.py
class Album(models.Model):
album_name = models.CharField(max_length=100, null=True)
artist = models.CharField(max_length=100, null=True)
class Track(models.Model):
album = models.ForeignKey(Album, related_name='tracks', on_delete=models.CASCADE, null=True)
order = models.IntegerField(null=True)
title = models.CharField(max_length=100, null=True)
duration = models.IntegerField(null=True)
信息:如果您的数据库是Postgre,建议将字段初始化为null=True
编辑:非常感谢有负面观点但从未给出答案的人
获取包含空曲目的唱片集列表。您需要首先保存与相册相关的空曲目(这就是为什么需要添加null=True
)并执行类似的查询:
Album.tracks.all()
此查询获取您选择的唱片集,并选择具有此唱片集名称的所有曲目。因此,结果是查询具有Album has key的曲目列表 只要看一下文件就行了。您不能保存字段没有值的模型,或者需要有null=True
才能在数据库中保存空字段
models.py
class Album(models.Model):
album_name = models.CharField(max_length=100, null=True)
artist = models.CharField(max_length=100, null=True)
class Track(models.Model):
album = models.ForeignKey(Album, related_name='tracks', on_delete=models.CASCADE, null=True)
order = models.IntegerField(null=True)
title = models.CharField(max_length=100, null=True)
duration = models.IntegerField(null=True)
信息:如果您的数据库是Postgre,建议将字段初始化为null=True
编辑:非常感谢有负面观点但从未给出答案的人
获取包含空曲目的唱片集列表。您需要首先保存与相册相关的空曲目(这就是为什么需要添加null=True
)并执行类似的查询:
Album.tracks.all()
此查询获取您选择的唱片集,并选择具有此唱片集名称的所有曲目。因此,结果是查询具有Album has key的曲目列表 尝试使用:
尝试使用:
这也行得通我试过Album.objects.filter(tracks=None)这也行得通我试过Album.objects.filter(tracks=None)也许你不知道我的问题是什么谢谢你的回答也许你不知道我的问题是什么谢谢你的回答