![]() |
1
3
没有内置的方式。
也许最好的办法是定义一个
|
![]() |
2
2
为什么这会有用?如果您不知道您想要什么类,那么您也将不知道要调用哪些方法,或者可以检查哪些属性。
如果您提前知道一组模型子类,或者愿意在中心视图列表中注册它们,那么可以这样做:
根据您有多少种不同类型的视图,您可以将搜索抽象为一个单独的函数,因此最终视图如下所示:
|
![]() |
3
2
对于在问题发布和给出接受的答案之后才查看此答案的人,在新版本的Django中,这更直接,请参见: django documentation about multi table inheritance 看看地方和餐馆的例子。基对象是一个地方,子类是一个餐馆。你可以通过place.restaurant得到子类,如果这个地方不是一个餐馆,你可以得到一个例外。 我添加这个是因为接受的答案可能有点过时,并导致我走错了轨道。 |
![]() |
4
0
如果使用django model utils中的inheritancemanager,则可以在查询时选择子类,而不必知道它们提前了什么。 https://django-model-utils.readthedocs.org/en/latest/managers.html#inheritancemanager |
![]() |
Fernando Chu · 一个变量有多个可能的类?[关闭] 5 月前 |
![]() |
Amaterastis · 基类接受子类和内部子类的模板参数 6 月前 |
![]() |
Rishab Negi · 这个关键字在抽象类中是如何工作的 6 月前 |
![]() |
dEmigOd · 类层次结构中的运算符重载解析 7 月前 |
![]() |
TableTopRug · 如何从Kotlin中的密封类继承? 7 月前 |
![]() |
hasdrubal · 抽象基类函数指针python 10 月前 |
|
Josh · 通过反思访问孩子的财产 11 月前 |