【问题标题】:DJANGO - Default filter in modelDJANGO - 模型中的默认过滤器
【发布时间】:2021-03-19 17:21:59
【问题描述】:

我有 3 个模型:

class Product(models.Model):
name = models.TextField()

class Company(models.Model):
name = models.TextField()
users = models.ManyToManyField('auth.User')

class Sales(models.Model):
product= models.ForeignKey(Product)
company= models.ForeignKey(Company)
seller = models.ForeignKey('auth.User')

我的目标是显示 request.user 公司销售的所有产品的列表,所以在我看来我这样做:

 Enterprise= Company.objects.filter(users=request.user)[0]
 Products_sold = Sales.objects.filter(company=Enterprise)

但由于我有很多视图,我想知道是否有办法直接在模型中实现它?

【问题讨论】:

    标签: django filter model


    【解决方案1】:

    你的用户应该有company_set:

    Products_sold = Sales.objects.filter(request.user.company_set.all()[0])
    

    【讨论】:

    猜你喜欢
    • 2013-02-02
    • 2021-05-22
    • 2010-10-25
    • 2015-06-10
    • 2017-07-27
    • 2011-04-05
    • 2012-05-11
    • 2011-03-05
    • 1970-01-01
    相关资源
    最近更新 更多