Как получить длину поля массива, присутствующего в PostgreSQL, используя Python Django Models

Это моя модель Django:

class UserVpaUpiId(models.Model):
    user_id = models.IntegerField(db_index=True, unique=True)
    vpa_upi_id = models.TextField(null=False, blank=True)
    created_on = models.DateTimeField(auto_now_add=True, null=False)
    updated_on = models.DateTimeField(auto_now=True, null=False)

Я хочу удалить запись с определенным идентификатором пользователя, что я могу успешно сделать, используя:

UserVpaUpiId.objects.filter(user_id=user_id).delete()

Но перед этим я хочу отобразить количество UPI, которые хранятся в vpa_upi_id в формате:

["acbd.pq@icici", "9987654431@apl", "9876543210@apl"]

Как я могу этого достичь?

vpa_upa_ids = UserVpaUpiId.objects.filter(user_id=user_id).values('vpa_upi_id')[0]['vpa_upi_id']
arr = vpa_upa_ids[1:-1].split(",")
length = len(arr)

Поскольку у вас уже есть user_id для удаления записи, вы можете взять соответствующую запись(и), преобразовать результат в строку и выполнить некоторые манипуляции со строкой, чтобы превратить ее в массив, где вы можете затем взять длину.

Вернуться на верх