有没有办法将模型对象与另一个对象连接?

时间:2020-10-12 20:49:33

标签: django django-models model foreign-keys relationship

所以我有两个模型的问题; ORDER和ORDERITEM,如前所述

    class Order(models.Model):
        customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True)
        post = models.ForeignKey('blog.Post', on_delete=models.SET_NULL, blank=True, null=True)
        #post = models.ForeignKey('OrderItem', related_name='oi', on_delete=models.SET_NULL, blank=True, null=True)
        date_ordered = models.DateTimeField(auto_now_add=True)
        complete = models.BooleanField(default=False, null=True, blank=False)
        transaction_id = models.CharField(max_length=200, null=True)
        qr_code = models.ImageField(upload_to='qrcode', blank=True)
    
    
        def __str__(self):
            return str(self.transaction_id)
    
    class OrderItem(models.Model):
        post = models.ForeignKey('blog.Post', on_delete=models.SET_NULL, blank=True, null=True)
        order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, null=True)
        quantity = models.IntegerField(default=0, null=True, blank=True)
        date_added = models.DateTimeField(auto_now_add=True)
    
        def __str__(self):
            return self.post.title

这是它的工作方式,当用户下订单时,转到订单项,完成订单后,转到订单模型,现在,我希望能够获得用户从订单购买的帖子(不是Orderitem)模型,我可以从OrderItem中获取它,因为当前使用代码abov Order模型不会显示所购买的特定帖子,它仅显示所有帖子的列表。我真的需要从Order购买该Post,因为im使用信号构建通知系统,并且必须来自Order(在用户完成订单过程时创建)。希望您能收到我的答复,如有任何后续问题,我很乐意答复。因此,即使我能找到一种方法将采购商品从OrderItem购买到Ord​​er。我很高兴。

谢谢

1 个答案:

答案 0 :(得分:0)

您需要遵循“向后”关系。请参阅Django的模型字段参考文档中的Following relationships “backward”部分。

相关问题