class Modex(baseModal):
sdgdList = BinaryJSONField(verbose_name="sdgdList",null=True,)
sdgdList Data:
[{"x": "1", "cgs": "11.00", "gbxz": "A", "gdmc": "aaa", "zjqk": "0.48", "zzgs": "0.18", "zjqkCss": "red", "gdblockid": "10",}, {"x": "2", "cgs": "10.06", "gbxz": "A", "gdmc": "bbb", "zjqk": "0.32", "zzgs": "0.17", "zjqkCss": "red", "gdblockid": "10", },{"x": "2", "cgs": "10.06", "gbxz": "A", "gdmc": "aaa", "zjqk": "0.32", "zzgs": "0.17", "zjqkCss": "red", "gdblockid": "10", }]
how to filter 'gdmc' == 'aaa' then result:
[{"x": "1", "cgs": "11.00", "gbxz": "A", "gdmc": "aaa", "zjqk": "0.48", "zzgs": "0.18", "zjqkCss": "red", "gdblockid": "10",},{"x": "2", "cgs": "10.06", "gbxz": "A", "gdmc": "aaa", "zjqk": "0.32", "zzgs": "0.17", "zjqkCss": "red", "gdblockid": "10", }]
#did't work! Modex.select().where(Modex.sdgdList['gdmc'] == 'aaa') filter on dict it's work,
{'gdmc':[1,2,'abc','bbb']}
Since your json data is a list of dictionaries, you can do this:
MyModel.select().where(MyModel.sdgdList.contains([{'gdmc': 'aaa'}]))