models.py
:Django модели. Что быстрее: фильтр по строкам или целым числом?
class ReviewString(models.Model):
REVIEW_TYPES = (
('bad', 'bad'),
('ok', 'ok'),
('good', 'good')
)
review_type = models.CharField(max_length=50, choices=REVIEW_TYPES)
# other fields here
class ReviewInteger(models.Model):
REVIEW_TYPES = (
('bad', -1),
('ok', 0),
('good', 1)
)
review_type = models.IntegerField(choices=REVIEW_TYPES)
# other fields here
Оба таблиц (ReviewString
и ReviewInteger
) содержит те же данные в базе данных. Я хочу знать, если есть какая-то разница Perfomance между этими двумя строками:
ReviewString.objects.filter(review_type='ok')
ReviewInteger.objects.filter(review_type=0)
Таким образом, я должен использовать ReviewString
или ReviewInteger
?
Я думаю, что целое число, но я предпочитаю строку, потому что это легко читать и понимать – catherine