How to filter data from database if its saved in different formats in django
let us consider, here my data can be saved in database in two formats.
My database looks like
id soil_type
1 Acid;Clay;Damp;Loam;Well drained
2 Acid;Clay;Damp;Loam;Neutral;Well drained
3 [u'Clay', u'Damp']
4 [u'Acidic', u'Alkaline']
5 [u'Clay']
here is models.py
class Items(models.Model):
SOIL_TYPE_CHOICES = (
('Acidic','Acidic'),
('Alkaline','Alkaline'),
('Chalk','Chalk'),
('Clay','Clay'),
('Damp','Damp'),
('Dry','Dry'),
('Loam','Loam'),
('Neutral','Neutral'),
('Sandy','Sandy'),
('Waterlogged','Waterlogged'),
('Well-drained','Well-drained'),
)
soil_type = models.CharField(max_length=500, blank=True, null=True)
currently how i am filtering in my views.py is
soil_type = request.GET.get('soil_type', '')
[# print("soil type",soil_type) - ('soil type', u'Clay') ]
items = Items.objects.filter(soil_type__icontains = soil_type)
Here id = 1,2 are saved when uploading data through csv file And id = 3,4,5 are saved manually(like manually adding item or creating the item)
now what i need is if filter we choose clay then i need to get records of id = 1,2,3,5 as clay is present in each of these