【问题标题】:Django Inner Join Queryset where there is no foreign key relation between two tables两个表之间没有外键关系的Django Inner Join Queryset
【发布时间】:2017-12-13 09:45:03
【问题描述】:

请帮忙! 我想知道下面提到的原始 oracle 查询的内部连接查询集:-

从 PubEv 中选择 PubC.component,PubC.comp_version,PubC.publish_id,PubEv.published_date 内部连接 ​​PubC 在 PubC.publish_id = PubEv.publish_id 在哪里 PubC.target_branch = 'polaris_dev' 和 PubC.component = 'aaa' 按 PubEv.published_date desc 排序;

而django项目中提到的模型如下:-

class PubEv(models.Model):
    vob = models.CharField(max_length=20)
    target_branch = models.CharField(max_length=60)
    publish_id = models.IntegerField(primary_key=True)
    target_branch_label = models.CharField(max_length=50, blank=True, null=True)
    main_release = models.CharField(max_length=10, blank=True, null=True)
    published_by = models.CharField(max_length=16)
    published_date = models.DateTimeField()
    publish_ddts = models.CharField(max_length=10)
    unpublished = models.CharField(max_length=1)
    changeset = models.ForeignKey('CcChangesets')

    class Meta:
        managed = False
        db_table = 'publish_events'

class PubC(models.Model):
    publish_id = models.IntegerField(primary_key=True)
    vob = models.CharField(max_length=20)
    target_branch = models.CharField(max_length=60)
    component = models.CharField(max_length=40)
    comp_version = models.CharField(max_length=40)

    class Meta:
        managed = False
        db_table = 'publish_contents'

【问题讨论】:

    标签: django python-2.7 django-queryset


    【解决方案1】:

    我认为在 Django ORM 中不可能做到这一点。如果你建立一个OneToOne 关系,你会比试图将它们保持为不相关的主键字段要好得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多