我有一个抽象类Type
,它有3个继承类Type1 Type2 Type3
,这3个类的属性有70%是相同的。
我想要这样;
Tip=get_object_or_404(Type,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,)
但是,类型是抽象类,我无法获取对象或筛选器
views.py (现在)
def game_detail(request,tournamentslug,slug,gameslug):
tip1=get_object_or_404(Type1, tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,)
tip2=get_object_or_404(Type2,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,)
tip3=get_object_or_404(Type3,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,)
发布于 2019-07-17 02:20:29
您不能混合这3个模型,因为它们是不同的模型和数据库中的不同表。你需要创建自己的get_object_or_404
,接受查询集,并在那里输入一个混合的查询集,或者分别测试所有3个模型,当没有任何对象时,自己调用404。
或者,如果这些类中70%的数据都是相同的,也许你可以只使用一个大模型来保存它们?只需将Type1 Type2 Type3合并为一个通用类型模型即可。与创建3个名称中包含数字的相似模型相比,这更合理
https://stackoverflow.com/questions/57062945
复制相似问题