如何基于另一个模型的实例在Django中创建模型,但已过滤

MStikh

我是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中调用某些子类,该子类将仅显示actor(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'

这显然是行不通的。

阿卜杜勒·阿齐兹·巴尔卡特|

您可以为此使用代理模型:

class ActorManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(role='actors')

class Actor(Person):
    objects = ActorManager()
    
    class Meta:
        proxy = True

代理模型只是继承模型的代理(此处为Person),即未创建新表。在这里,我们创建了一个自定义管理器,以便始终过滤角色。现在,只需将此模型注册到管理站点。参考:代理模型自定义管理器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django从另一个模型保存方法创建模型实例

来自分类Dev

Rails-从另一个模型中创建模型的实例

来自分类Dev

如果在Django中形成另一个模型,如何基于相同模型从另一个模型中显示值

来自分类Dev

为与Django中另一个实例相关的每个模型实例创建一个表单字段

来自分类Dev

将模型的实例值传递给 django 中的另一个不同的模型实例

来自分类Dev

在一个查询中创建模型的多个实例

来自分类Dev

创建另一个模型的实例时自动填充 Django 模型字段

来自分类Dev

在 Django 中,如何使用基于函数的视图中的另一个模型数据

来自分类Dev

Rails:基于另一个模型的控制器中的参数创建新模型

来自分类Dev

将Django模型实例保存到另一个模型中

来自分类Dev

如何根据另一个模型的需求过滤Django模型?

来自分类Dev

如何在一个Django模型创建一个链接,指向另一个模型?

来自分类Dev

如何通过与另一个模型实例进行比较来过滤ActiveRecord查询结果?

来自分类Dev

在另一个 Python 脚本中使用 POST 方法创建 Django 模型实例

来自分类Dev

如何在另一个类中创建模拟类的实例

来自分类Dev

如何从keras模型中删除图层以用作创建另一个模型的基准

来自分类Dev

将子类模型实例转换为Django中的另一个子类模型实例?

来自分类Dev

如何在另一个模型类中实例化一个模型类?

来自分类Dev

在Django中,如何在保存之前将另一个实例添加到内联模型中?

来自分类Dev

在Django中,如何获取一个模型的所有实例,而与fk的第一个模型相关的另一个模型的实例不存在?

来自分类Dev

Django 2.0 Admin“添加”,在另一个模型中按外键过滤

来自分类Dev

如何在Rails中将模型的实例添加到另一个模型的实例

来自分类Dev

在odoo中如何在另一个模型中创建记录时如何在模型中创建记录

来自分类Dev

在odoo中如何在另一个模型中创建记录时如何在模型中创建记录

来自分类Dev

克隆Django模型实例对象并将其保存到具有相同字段的另一个模型中

来自分类Dev

Django 1.6如何首先根据另一个模型进行过滤,然后对模型进行排序?

来自分类Dev

基于另一个模型中的值的另一个模型的Rails负载下拉列表

来自分类Dev

在for循环中的django admin中创建另一个模型对象

来自分类Dev

如何基于使用Signals更新另一个模型的字段来更新模型字段?

Related 相关文章

  1. 1

    Django从另一个模型保存方法创建模型实例

  2. 2

    Rails-从另一个模型中创建模型的实例

  3. 3

    如果在Django中形成另一个模型,如何基于相同模型从另一个模型中显示值

  4. 4

    为与Django中另一个实例相关的每个模型实例创建一个表单字段

  5. 5

    将模型的实例值传递给 django 中的另一个不同的模型实例

  6. 6

    在一个查询中创建模型的多个实例

  7. 7

    创建另一个模型的实例时自动填充 Django 模型字段

  8. 8

    在 Django 中,如何使用基于函数的视图中的另一个模型数据

  9. 9

    Rails:基于另一个模型的控制器中的参数创建新模型

  10. 10

    将Django模型实例保存到另一个模型中

  11. 11

    如何根据另一个模型的需求过滤Django模型?

  12. 12

    如何在一个Django模型创建一个链接,指向另一个模型?

  13. 13

    如何通过与另一个模型实例进行比较来过滤ActiveRecord查询结果?

  14. 14

    在另一个 Python 脚本中使用 POST 方法创建 Django 模型实例

  15. 15

    如何在另一个类中创建模拟类的实例

  16. 16

    如何从keras模型中删除图层以用作创建另一个模型的基准

  17. 17

    将子类模型实例转换为Django中的另一个子类模型实例?

  18. 18

    如何在另一个模型类中实例化一个模型类?

  19. 19

    在Django中,如何在保存之前将另一个实例添加到内联模型中?

  20. 20

    在Django中,如何获取一个模型的所有实例,而与fk的第一个模型相关的另一个模型的实例不存在?

  21. 21

    Django 2.0 Admin“添加”,在另一个模型中按外键过滤

  22. 22

    如何在Rails中将模型的实例添加到另一个模型的实例

  23. 23

    在odoo中如何在另一个模型中创建记录时如何在模型中创建记录

  24. 24

    在odoo中如何在另一个模型中创建记录时如何在模型中创建记录

  25. 25

    克隆Django模型实例对象并将其保存到具有相同字段的另一个模型中

  26. 26

    Django 1.6如何首先根据另一个模型进行过滤,然后对模型进行排序?

  27. 27

    基于另一个模型中的值的另一个模型的Rails负载下拉列表

  28. 28

    在for循环中的django admin中创建另一个模型对象

  29. 29

    如何基于使用Signals更新另一个模型的字段来更新模型字段?

热门标签

归档