Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
过滤带有空曲目集的唱片集Django Model_Django_Django Models - Fatal编程技术网

过滤带有空曲目集的唱片集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)也许你不知道我的问题是什么谢谢你的回答也许你不知道我的问题是什么谢谢你的回答