【问题标题】:Is there a way to connect a model object with another object?有没有办法将模型对象与另一个对象连接起来?
【发布时间】:2021-01-27 04:46:40
【问题描述】:

所以我有两个模型的问题; 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,当它的订单完成时,它会转到 Order 模型,现在,我希望能够获得用户从 Order 购买的帖子(不是 Orderitem) 模型,我可以从 OrderItem 获得它,因为目前使用上面的代码,订单模型不显示购买的特定帖子,它只显示所有帖子的列表。我真的需要从 Order 购买 Post,因为我使用信号构建了一个通知系统,它必须来自 Order(当用户完成下订单的过程时创建)。我希望你能得到我,任何后续问题,我很乐意回答。所以即使我能找到一种方法来获取从 OrderItem 到 Order 购买的帖子。我很高兴。

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 2021-06-17
      • 1970-01-01
      • 2012-07-04
      相关资源
      最近更新 更多