比较Django中的JSonfield

比较Django中的JSonfield,django,django-models,Django,Django Models,如果两个模型都有JSonfield,有没有办法将一个与另一个匹配?假设我有两个模型: Crabadoodle(Model): classification = CharField() metadata = JSONField() Glibotz(Model): rating = IntegerField() metadata = JSONField() 如果我有一个Crabadoodle,并且想要获取所有具有相同元数据字段的Glibotz对象,我将如何进行呢?如果我知道具体的

如果两个模型都有JSonfield,有没有办法将一个与另一个匹配?假设我有两个模型:

Crabadoodle(Model):
  classification = CharField()
  metadata = JSONField()

Glibotz(Model):
  rating = IntegerField()
  metadata = JSONField()

如果我有一个Crabadoodle,并且想要获取所有具有相同元数据字段的Glibotz对象,我将如何进行呢?如果我知道具体的内容,我可以很简单地进行筛选,但如何在整个字段上进行匹配?

Django中没有实现这一点,但可以使用(@>、glib.metadata和crab.metadataDjango中没有实现这一点,但可以使用(@>、glib.metadata和crab.metadata)
select * 
from someapp_crabdoodle crab 
join someapp_glizbotz  glib 
on crab.metadata @> glib.metadata and crab.metadata <@ glib.metadata 
where crab.id = 1