【发布时间】:2021-01-22 17:13:54
【问题描述】:
我是 Django 新手,我正在寻找一种在 Django 中基于另一个模型的实例创建模型的方法,但经过过滤。
我的 models.py 中有一个名为 Person 的表,它有名称和角色:
class Person(models.Model):
id = models.UUIDField(primary_key=True)
name = models.CharField(max_length=100)
role = models.CharField(max_length=100)
created_on = models.DateTimeField(auto_now_add=True)
class Meta:
db_table = 'person'
我想要的是能够在我的 admin.py 中调用一些子类,这将只显示演员 (role="actors"):
@admin.register(Actor)
class Actor(admin.ModelAdmin):...
有可能吗?还是我必须再创建一张只有演员的表?
我知道我可以使用list_filter = ('role',),但这不是我要寻找的,我只需要演员。
我认为解决方案是这样的:
class Actor(models.Model):
objects = Person.objects.filter(role='actor')
class Meta:
verbose_name = 'actor'
或
class Actor(Person):
self.objects.filter(role='actor')
class Meta:
verbose_name = 'actor'
这显然行不通。
【问题讨论】:
标签: python django django-models django-admin