Django 获取\u对象\u或\u 404继承类

Django 获取\u对象\u或\u 404继承类,django,django-models,django-views,Django,Django Models,Django Views,我有一个抽象类Type,它有3个继承类type1type2type370%的这3个类属性是相同的 我想要这样 Tip=get_object_or_404(Type,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,) 但是类型是抽象类,我无法获取对象或筛选器 views.py(现在) 您不能混合使用这三个模型,因为它们是不同的模型,并且在数据库中是不同的表。您需要创建自己的get\u object\u或\u 404wh

我有一个抽象类
Type
,它有3个继承类
type1type2type3
70%的这3个类属性是相同的

我想要这样

Tip=get_object_or_404(Type,tournament__slug=tournamentslug,slug=slug,game__slug=gameslug,) 
但是类型是抽象类,我无法获取对象或筛选器

views.py(现在)


您不能混合使用这三个模型,因为它们是不同的模型,并且在数据库中是不同的表。您需要创建自己的
get\u object\u或\u 404
what接受queryset,并在那里输入一个混合queryset, 或者单独测试所有3个模型,并在没有任何对象时自行升高404


或者,如果这个类中70%的数据都是相同的,也许你可以用一个大模型来保存它们?只需将type1type2type3合并到一个通用类型模型中。在我看来,这比创建3个名称中包含数字的类似模型更合理

我没有回答这个问题。您想验证tournamentslug、slug和GameSlaug是否为
类型的字段(基本抽象类)!?是的,我想要喜欢;Tip=get\u object\u或\u 404(类型,tournament\u slug=tournamentslug,slug=slug,game\uu slug=GameSlaug,)但是类型是抽象类,我无法获取对象或过滤器如果类型是抽象的,它没有任何表支持,因此,从哪里
获取对象\u或\u 404(类型,…)
将获取其值?类型1有额外的5个字段类型2有额外的3个字段。。另外,Type1 xxx=models.ForeignKey()。因此,类型2 xxx=models.ManytoManyField。我这样做并不复杂。但是,我会考虑合并。你可以合并模型,但问题是合并后的模型是否会像它那样表示你的数据,在不知道任何信息的情况下很难判断。当您查找type1时,可以从type2中获取数据吗?我创建了抽象类,因为它非常复杂。我将结合起来看看会发生什么。
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,)