有没有一种从数据库转储UTF-8数据的简单方法?
我知道这个命令:
manage.py dumpdata > mydata.json
Run Code Online (Sandbox Code Playgroud)
但是我在mydata.json文件中得到的数据,Unicode数据看起来像:
"name": "\u4e1c\u6cf0\u9999\u6e2f\u4e94\u91d1\u6709\u9650\u516c\u53f8"
Run Code Online (Sandbox Code Playgroud)
我想看一个真正的Unicode字符串,如????????(中文).
也许是一个简单的问题,但我不知道如何总结它,我会找到答案.
是否可以打印出所有可用的模型字段?
例如,在iPython中,我可以导入模型,只需编写模型名称,选项卡将显示模型具有的所有可用字段.
是否可以在不使用某种shell的情况下在代码中执行此操作?
我想使用某种命令(ea print_fields(self))并获取模型中的内容.
我正在尝试在使用South的Django项目(1.5.4)上运行Selenium测试.当我尝试用夹具注入初始数据时,我认为South与我的测试相冲突,但我不确定为什么; 我感谢任何帮助.
根据Django 文档,应该在第一个syncdb之后加载fixture,然后应用所有迁移.
问题1)这是否考虑到南迁?我需要以某种方式单独运行它们吗?
我运行测试时得到的错误使我看起来在第一次测试后我的南迁移仍然存在于测试数据库中...但我认为每个测试都有自己的数据库(和迁移/固定装置)?第一个测试通过/失败,但每个后续测试都会引发此IntegrityError:
IntegrityError: Problem installing fixture '<PROJECT_PATH>/fixtures/toy_course.json': Could not load contenttypes.ContentType(pk=8): (1062, "Duplicate entry 'south-migrationhistory' for key 'app_label'")
Run Code Online (Sandbox Code Playgroud)
这个南方文档和SO问题似乎表明我需要覆盖某种类型的前向方法才能使夹具工作,但我不完全确定如何将其应用于测试情况而不是生产(或者如果是我需要的解决方案).
问题2)我是否应该在测试设置中覆盖前进?我会在哪里做的?
我的相关测试代码:
from django.conf import settings
from selenium import webdriver
from functional_tests.test import SeleniumTestCase
class Resources(SeleniumTestCase):
fixtures = ['toy_course.json']
def setUp(self):
self.browser = webdriver.Chrome(settings.SELENIUM_WEBDRIVER)
self.browser.implicitly_wait(3)
def tearDown(self):
self.browser.quit()
def test_main_page_renders_correctly(self):
"""
User sees a properly formatted main page
"""
self.open('/RDB/')
h3_headers = self.browser.find_elements_by_tag_name('h3')
self.assertIn(
'Complete List of Resources', …Run Code Online (Sandbox Code Playgroud) 如果我想升级(更改)我的数据库模式(通过将它们添加到django模型中来向表添加新字段)而不丢失这些表中的数据,那么最佳解决方案是什么?"syncdb"当然没有添加它们,所以我需要你的建议如何更改表而不删除它们并使用syncdb重新创建.
谢谢,伊格纳斯
Traceback (most recent call last):
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/serializers/json.py", line 69, in Deserializer
yield from PythonDeserializer(objects, **options)
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/serializers/python.py", line 91, in Deserializer
Model = _get_model(d["model"])
KeyError: 'model'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
utility.execute()
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
self.execute(*args, **cmd_options)
File "/Users/sparshkedia/Desktop/task/venv/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute
output = self.handle(*args, …Run Code Online (Sandbox Code Playgroud)