django - 视图和模板中的设置值问题
问题描述
我想创建一个列表,用户可以在其中为他的列表提供标题,他可以在其中选择他应该属于哪个类别,这就是模型的样子
class UserListAnime(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
anime = models.ManyToManyField(Anime, through='ListAnime')
class Anime(models.Model):
title = models.CharField(max_length=200)
slug = extension_fields.AutoSlugField(populate_from='title', blank=True)
class ListAnime(models.Model):
LIST_CHOICES = (
(WATCHING, 'Oglądam'),
(PLANNING, 'Planuję'),
(COMPLETED, 'Ukończone'),
(DROPPED, 'Porzucone'),
(ONHOLD, 'Wstrzymane'),
(MISSING, 'Pomijam'),
)
user = models.ForeignKey(UserListAnime, on_delete=models.CASCADE, null=True, blank=True)
anime = models.ForeignKey(Anime, on_delete=models.CASCADE, null=True, blank=True)
type = models.CharField(max_length=30, choices=LIST_CHOICES, null=False, blank=False)
在视图中,我只需要获取用户列表并显示它,但我希望通过输入类型对其进行过滤ListAnime
def ListAnimeView(request, pk, username):
list_anime = UserListAnime.objects.filter(user__pk=pk, user__username=username,
listanime__type='ogladam',
anime__listanime__type='ogladam').all()
context = locals()
和 html 看起来像
{% for list in list_anime.anime.all %}
{{ list }}
{% endfor %}
我的问题是如何在 type = LIST_CHOICES 时提取所有记录并在 html 中显示
编辑:已解决只需要从UserListAnime,objects..
toListAnime.objects
和 html 中更改视图即可
{% for list in list_anime %}
{{ list.anime }}
{% endfor %}
解决方案
我不知道你到底想达到什么目的。您想获取ListAnime
给定用户的实体列表,并且只获取“ogladam”类型的实体吗?
def listAnimeView(request, pk):
list_anime = ListAnime.objects.filter(user__user_id=pk, type='ogladam')
return render(request, 'template-name', context=['list_anime': list_anime])'
推荐阅读
- javascript - Joi 验证 1-2 长度的数字数组,其中第一个必须小于第二个
- azure-cognitive-search - 如何通过 en.microsoft 分析器自定义数字标记化?
- dask - Dask 没有启动工人
- node.js - 如何使用 webpack 和无服务器框架将 bcrypt 捆绑在纱线工作区 monorepo 中?
- bash - 如何从 awk 的输入 FILENAME 变量中删除路径-basename 是否可用?
- android - 播放音乐的 Android 通知
- go - 如何在自定义文件中记录 fmt.Printf
- excel - 无法使用 Spring Boot 和 Apache POI 正确生成 Excel 文件
- mysql - 触发只允许 1 辆车
- ios - numberOfItemsInSection 被调用,但 cellForItemAt 未被调用 UICollectionViewController