Django test case setUp - queryset не обновляется
У меня возникли проблемы при попытке обновить набор запросов на setUp:
class MyTestCase(BaseTestCase):
OPERATOR_USERNAME = "test_operator"
OPERATOR_PASSWORD = "secret"
OPERATOR_EMAIL = "test@example.org"
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.operator = Operator.objects.create_superuser(
username=cls.OPERATOR_USERNAME, password=cls.OPERATOR_PASSWORD, email=cls.OPERATOR_EMAIL
)
def setUp(self) -> None:
self.client.login(username=self.OPERATOR_USERNAME, password=self.OPERATOR_PASSWORD)
utd_ids = MyModel.objects.filter(
ref_year=2021).values_list("id", flat=True
)[:10]
utd_qs = MyModel.objects.filter(id__in=utd_ids) # just added another step for debugging purposes
# update initial utd status
_updates = utd_qs.update(status="INITIAL_STATE_VALUE")
print(_updates) # it prints 10
self.ssn_list = list(utd_qs.values_list("user__ssn", flat=True))
self.client.login(username=self.OPERATOR_USERNAME, password=self.OPERATOR_PASSWORD)
print(MyModel.objects.filter(id__in=utd_ids).values("status").distinct())
# this should retrieve 1 value but instead it retrieve multiple values different from INITIAL_STATE_VALUE
Я делаю что-то не так? Я попробовал то же самое обновление через python manage.py shell на аналогичном наборе запросов, и оно работает, как ожидалось