我的模型中有一列我存储条形码列表。现在我有一个条形码,123456。我想用条形码过滤该行123456
class A(models.Model):
barcode = models.Charfield(max_length = 255)
我将条形码存储为[u'123456', u'457798799']
,即每个条形码行包含Char格式的条形码列表。
现在我想过滤其列表中包含条形码123456
的那一行。我怎么能这样做?
答案 0 :(得分:1)
解决方案是:
A.objects.filter(barcode__contains='123456')
通过它,您将获得条形码包含所需字符串的所有对象的列表。
无论如何,我建议使用ForeignKey
关系,因为这是一个合适的语义解决方案:
https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey
class A(models.Model):
name = models.Charfield(max_length=50)
class Bcode(models.Model):
barcode = models.IntegerField()
a = models.ForeignKey(A)
然后您可以从A
- 实例:
a_instance.bcode_set.all()
您可以获取条形码的相应A
- 实例,例如:
b = Bcode.objects.get(123456)
b.a.name