Как получить другую подстроку поля в модели Django? - PullRequest
0 голосов
/ 25 марта 2019

Я хочу получить набор подстрок поля в модели Django. формат данных, как это

1, 20001, a
2, 20002, a
3, 21002, a
4, 51003, b
5, 51001, a

Я хочу получить только первые два символа второго столбца с отличными: [20, 21, 51]

Как получить результат с помощью функции модели django?

Я давно ищу в сети. Но бесполезно. Пожалуйста, помогите или попробуйте дать некоторые идеи, как этого добиться.

1 Ответ

0 голосов
/ 25 марта 2019

Это должно работать (замените {field_name} именем вашего поля):

def first_two_digits(self):
    return int(str(self.{field_name})[:2])

Он преобразует целое число, которое вы получаете в строку, обрезает его, чтобы получить только первые 2 символа, и снова преобразует его в целое число.

EDIT: Есть альтернативный способ, если вы знаете, что вы всегда получите номера с 6 цифрами:

def first_two_digits(self):
    return self.{field_name} % 10000
...