不允许 Django 内部连接

Django inner join not permitted

我有两个表,其中一个引用了另一个的字段,但我无法执行 INNER JOIN。

这些是我的表:

class VulnerabilitiesCve(models.Model):
    cve = models.CharField(primary_key=True, max_length=14)
    description = models.CharField(max_length=2000, blank=True, null=True)
    pub_date = models.DateField(blank=True, null=True)
    up_date = models.DateField(blank=True, null=True)
    score = models.DecimalField(max_digits=3, decimal_places=1, blank=True, null=True)
    type_vul = models.CharField(max_length=100, blank=True, null=True)
    url_cve = models.CharField(max_length=65, blank=True, null=True)


class Products(models.Model):
    product_id = models.AutoField(primary_key=True)
    vendor = models.CharField(max_length=30, blank=True, null=True)
    product = models.CharField(max_length=60, blank=True, null=True)
    version = models.CharField(max_length=10, blank=True, null=True)
    cve = models.ForeignKey('VulnerabilitiesCve', db_column='cve')

这是我的查询:

VulnerabilitiesCve.objects.filter(cve__cve = "CVE-2013-0233");

这是我得到的错误:

Unsupported lookup 'cve' for CharField or join on the field not permitted.

我尝试将 cve 字段更改为 AutoField 而不是 CharField,但没有成功,因为 cve 是一个字符。

我还有其他表,主键是一个int,我可以正确地进行INNER JOIN。

有什么问题?提前谢谢你。

这是试图在cve 外键关系上遵循cve 字段。 VulnerabilitiesCve 模型有一个不是外键关系的 cve 字段。

VulnerabilitiesCve.objects.filter(cve__cve = "CVE-2013-0233");

我怀疑你要么打算做

VulnerabilitiesCve.objects.filter(cve = "CVE-2013-0233");

Products.objects.filter(cve__cve = "CVE-2013-0233");