Я получаю несоответствия при получении результатов после patch
. Я пытаюсь сравнить результаты после патча. Я хочу сохранить данные в переменной, прежде чем они будут удалены, когда я исправляю. Когда я пытаюсь распечатать данные после их исправления, они получают новый и другой результат. Ниже я хочу хранить старых собак в old
. Однако после патча он обновляется до новых значений, таких как new
. Мой патч-сериализатор удаляет старую запись при патче.
#models.py
class Owner(models.Model):
owner = models.CharField()
class Dog(models.Model):
owner = models.ForeignKey(Owner,on_delete=models.CASCADE)
name = models.CharField()
#test.py
class Update(APITestCase):
def test_update_dog(self):
old = Dog.objects.filter(owner=1).order_by('id')
print(old) # <QuerySet [<Dog: Ben>, <Dog: Phoebe>]>
data = {
'dogs': [
{'name': 'Ryan'},
{'name': 'Louis'}
]
}
response = self.client.post(
'/admin/login/', {'username': 'admin', 'password': 'password123'})
response = self.client.patch('/app/dogs/1/',
data=data,
format='json')
new = Dog.objects.filter(owner=1).order_by('id')
print(new) # <QuerySet [<Dog: Ryan>, <Dog: Louis>]>
print(old) # <QuerySet [<Dog: Ryan>, <Dog: Louis>]>
self.assertNotEqual(old[0].name, new[0].name)
self.assertNotEqual(old[1].name, new[1].name)