Python 如何在Django Admin中分离对象?
我有一个名为“Product”的应用程序,具有以下型号。py:Python 如何在Django Admin中分离对象?,python,django,Python,Django,我有一个名为“Product”的应用程序,具有以下型号。py: class Product(models.Model): product_id = models.CharField(max_length=50) pub_date = models.DateTimeField(default=datetime.now) title = models.CharField(max_length=255) price = models.DecimalField(max_d
class Product(models.Model):
product_id = models.CharField(max_length=50)
pub_date = models.DateTimeField(default=datetime.now)
title = models.CharField(max_length=255)
price = models.DecimalField(max_digits=8, decimal_places=2)
user = models.ForeignKey(User, on_delete=models.CASCADE)
featured = models.BooleanField(default=False)
我想在Django Admin中有两个单独的部分:产品和特色产品,具体取决于Featured=True
或False
。
因此,默认情况下,所有产品都列在产品部分下。但是如果featured=True
他们将被移动到特色产品部分。你能帮我怎么做吗?提前感谢。三个步骤:
产品编写一个
您可以在这里了解更多信息:有几种方法可以做到这一点。最简单的可能是创建一个数据库视图,然后使用django模型封装它。您可以在数据库控制台中创建这样的视图:
创建视图\u名称为
选择列
从桌子上
[在有条件的情况下];
完成此操作后,可以在django中引用视图,如下所示:
类别功能产品(模式.模型):
attr1=models.CharField()
类元:
托管=错误
db_表=“”
确保managed
设置为False
。以下是与此相关的信息。您之所以希望这样做,是因为django不是为您创建此模型,而是您自己创建的
另一种方法是创建自定义的
管理器
。这些管理器允许您修改模型的对象
属性,允许您设置所需的查询集。我想您应该想看看,您可以看看。非常感谢您的帮助!一旦产品移动到特色产品,是否有办法从产品部分“删除”该产品?是的,请阅读关于ModelAdmin.get\u queryset方法的内容,并在那里筛选要显示的产品。