DJANGO - 模型中的默认过滤器
DJANGO - Default filter in model
我有 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)
但是由于我有很多观点,我想知道是否有办法直接在模型中使用它?
您的用户应该 company_set
:
Products_sold = Sales.objects.filter(request.user.company_set.all()[0])
我有 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)
但是由于我有很多观点,我想知道是否有办法直接在模型中使用它?
您的用户应该 company_set
:
Products_sold = Sales.objects.filter(request.user.company_set.all()[0])