如何从数据库表中获取Python Django中的相关类别产品?

时间:2019-04-07 07:59:33

标签: python django django-views

我在Django项目中创建了一些应用程序,它们分别称为CouponStore,它们彼此相关。例如,可能有许多与商店相关的优惠券(Coupon1,Coupon2属于Store1)。

class Coupon(models.Model): 
    store = models.ForeignKey(Store, on_delete=models.DO_NOTHING) 
    title = models.CharField(max_length=200) 
    ...

    def __str__(self): 
        return self.title

class Store(models.Model): 
    name = models.CharField(max_length=200) 
    description = models.TextField(blank=True) 
    ...

    def __str__(self): 
        return self.name

我想要完成的是,当用户单击这些优惠券(Coupon1,Coupon2)中的任何一张时,用户应该在与Store1相关的单独视图中看到所有优惠券的列表。

我应该怎么做?

2 个答案:

答案 0 :(得分:0)

如果我正确理解了您想要的东西,那就会这样:

# Get the Coupon1 instance
coupon = Coupon.objects.filter(name="Coupon1")
# Get all coupons related to the same store as Coupon1
coupons_from_same_store = Coupon.objects.filter(store=coupon.store)

答案 1 :(得分:0)

假设我在名为coupen_id的URL中有优惠券的ID,

coupen = Coupen.objects.get(pk=coupen_id)
coupons = Coupon.objects.filter(store_id=coupen.store.id)
print(store_id)