【问题标题】:How make users own their data in django如何让用户在 django 中拥有他们的数据
【发布时间】:2020-12-08 18:56:44
【问题描述】:

目前,如果您已登录,您将能够看到所有产品,无论 您以哪个用户身份登录。我怎样才能只向商家展示属于他们的产品。

我试试这个

views.py

def users_homepage(request):
    product=Product.objects.filter(merchant=request.user).order_by('date_added')

我收到此错误“无法查询“mustapha”:必须是“商家”实例”

我的模型.py

class Merchant(models.Model):
    user=models.OneToOneField(User,on_delete=models.CASCADE, primary_key=True)
class Product(models.Model):
    merchant=models.ForeignKey(Merchant, on_delete=models.CASCADE)
    date_added = models.DateTimeField(auto_now_add=True)

【问题讨论】:

    标签: python python-3.x django django-models django-views


    【解决方案1】:

    使用用户获取商家实例并使用该实例查询产品。

    def users_homepage(request):
        merchant = Merchant.objects.get(user=request.user)
        product = Product.objects.filter(merchant=merchant).order_by('date_added')
    

    另一种方法是使用 [默认] 相关名称。

    def users_homepage(request):
        product = Product.objects.filter(merchant=request.user.merchant).order_by('date_added')
    

    【讨论】:

      【解决方案2】:

      试试

      def users_homepage(request):
          product=Product.objects.filter(merchant__user=request.user).order_by('date_added')
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-10
        • 1970-01-01
        • 2015-07-26
        相关资源
        最近更新 更多