gpt4 book ai didi

python - 如何创建具有多对多关系的模型作为类别(即摇滚、乡村、蓝调和流行)

转载 作者:行者123 更新时间:2023-12-01 02:49:18 26 4
gpt4 key购买 nike

from django.db import models
from django.core.urlresolvers import reverse
from django.conf import settings
from django.contrib.auth.models import User


class Album(models.Model):
creator = models.CharField(max_length=250)
album_name = models.CharField(max_length=250)
category = models.CharField(max_length=250)
album_photo = models.FileField()
author = models.ForeignKey (User,on_delete=models.CASCADE, related_name='album', default='1')

def get_absolute_url(self):
return reverse('post:detail',kwargs={'pk': self.pk})

def __str__(self):
return self.creator + ' - ' + self.album_name

class Song(models.Model):
Album = models.ForeignKey(Album, on_delete=models.CASCADE)
song_name = models.CharField(max_length=250)

def __str__(self):
return self.song_name

编辑:
我想要另一个模型来对我的所有专辑进行分类,其中需要多个类别。这些类别将是预先指定的选择,这将使查询更强大且更易于处理。

最佳答案

我认为您想要做的是将类别定义为与专辑具有多对多关系的模型。这样,您可以执行以下操作:Album.objects.filter(category__name='country')或者您可以获取 Category 的一个实例并执行 category.album_set.all()

在您的相册模型上方尝试一下:

class Category(models.Model):
name = models.CharField(max_length=50)
desc = models.TextField()

然后添加到您的相册模型:

category = models.ManyToManyField(Category)

关于python - 如何创建具有多对多关系的模型作为类别(即摇滚、乡村、蓝调和流行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44956775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com