У меня есть пользовательская модель в django с переопределенными методами to_python() и get_db_prep_save(). Я обнаружил ошибку: при сбросе и перезагрузке данные были несогласованными. Ошибка исправлена, но я хочу протестировать ее с помощью простой строки json.
Мой вопрос: как я могу вызвать loaddata/dumpdata внутри unittest.
Я хочу создать следующие сценарии:
from django.test import TestCase
class CustomModelTest(TestCase):
def test_load_fixture(self):
mydata = '[{"model": "some_app.custommodel", "pk": 1, "fields": {"custom_field": "some correct value"}}]'
django.some_interface_to_load_fixture.loaddata(mydata) // data could be as json string, file, stream
make some assertions on database model custommodel
def test_dump_fixture(self):
mymodel = create model object with some data
result = django.some_interface_to_dump_fixture.dumpdata()
make some assertions on result
Я знаю, что есть поле fixture=[]
, которое можно использовать в юнит-тестах django, оно может решать сценарии загрузки фикстур. Но если бы кто-нибудь мог указать мне какой-нибудь интерфейс для загрузки или вывода данных о приборах по запросу, это было бы здорово.
json
? - person Yugandhar Chaudhari   schedule 26.09.2019python manage.py loaddata data.json
, должен быть какой-то интерфейс, который можно использовать непосредственно в модуле django в юнит-тестах. - person makozaki   schedule 26.09.2019from django.core.serializers.json import Serializer,Deserializer
- person Yugandhar Chaudhari   schedule 26.09.2019loaddata
? Вы также можете просто вызвать его в коде. - person dirkgroten   schedule 26.09.2019Command
, а затем запуститьexecute
с аргументами, которые примет команда управления. Посмотрите исходный код, чтобы увидеть, какие аргументы потребуются (вы должны передать значения по умолчанию, если вы не звоните из командной строки) - person dirkgroten   schedule 26.09.2019