gpt4 book ai didi

python - 在 Django 中将表分为两部分

转载 作者:行者123 更新时间:2023-11-29 13:50:50 25 4
gpt4 key购买 nike

我有一个关于数据过滤的问题。例如,我们有一个名为 Shop 的模型,它是 FK 到模型名称 (name, active)。如果我需要过滤在 1 个 View 中处于事件状态而不是事件状态的商店名称怎么办?使用 2 两个查询是唯一的选择?如果没有,有人可以展示有效的方法吗?问题是,我能否将表分成两部分,按简单条件划分而不运行两个查询?

最佳答案

根据你的描述,你有这样的模型排列,对吧?

class Name(models.Model):
name = models.CharField()
active = models.CharField()

class Shop(models.Model):
name = models.ForeignKey(Name)

然后你可以这样做:

active_list = []
inactive_list = []
shop_list = Shop.objects.all()

for shop in shop_list :
if shop.name.active :
#Do something
active_list.append(shop)

else :
#Do something else
inactive_list.append(shop)

print active_list
print inactive_list

在此循环结束时,您将拥有基于事件或非事件字段的所有商店。

编辑:

如评论中所述,如果需要根据 active,inactive 来选择 Names 对象,则可以使用这个:

active_list = []
inactive_list = []
name_list = Names.objects.all()

for names in name_list :
if names.active == True :
#Do something
active_list.append(names)
else :
#Do something else
inactive_list.append(names)
print active_list
print inactive_list

关于python - 在 Django 中将表分为两部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41464481/

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