因此,我正在使用Error
Traceback (most recent call last):
File "C:\Users\strohl\Documents\Project\Who\who_db\who_db_tests\test_model_methods.py", line 101, in setUp
self.M1 = MixinTest.objects.create(name='M1')
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\query.py", line 422, in create
obj.save(force_insert=True, using=self.db)
File "C:\Users\strohl\Documents\Project\Who\who_db\models.py", line 132, in save
super(MixinTest, self).save(*args, **kwargs)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\base.py", line 741, in save
force_update=force_update, update_fields=update_fields)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\base.py", line 779, in save_base
force_update, using, update_fields,
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\base.py", line 870, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\base.py", line 908, in _do_insert
using=using, raw=raw)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\query.py", line 1186, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\sql\compiler.py", line 1331, in execute_sql
for sql, params in self.as_sql():
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\sql\compiler.py", line 1275, in as_sql
for obj in self.query.objs
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\sql\compiler.py", line 1275, in <listcomp>
for obj in self.query.objs
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\sql\compiler.py", line 1274, in <listcomp>
[self.prepare_value(field, self.pre_save_val(field, obj)) for field in fields]
File "C:\Users\strohl\Documents\VirtualEnv\Who\lib\site-packages\django\db\models\sql\compiler.py", line 1205, in prepare_value
if value.contains_column_references:
AttributeError: 'Query' object has no attribute 'contains_column_references'
用python编写程序。但是我的问题是它在python 2和3中的行为不同。这是代码
argparse
在python 2中,它提供输出(仅通过输入import argparse,sys
class CustomParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('\033[91mError: %s\n\033[0m' % message)
self.print_help()
sys.exit(2)
parser = CustomParser(description='Short sample app')
subparsers = parser.add_subparsers(title='Available sub-commands', dest="choice", help="choose from one of these")
ana = subparsers.add_parser("test",
formatter_class=argparse.RawTextHelpFormatter,
description = 'test',
help ="test")
ana.add_argument("-testf", type=int, help="a test flag", required=True)
args = parser.parse_args()
否python file.py
标志)
-h
但是,如果我在python 3(Error: too few arguments
usage: test.py [-h] {test} ...
Short sample app
optional arguments:
-h, --help show this help message and exit
Available sub-commands:
{test} choose from one of these
test test
)中运行相同的命令,则没有输出。我知道是否提供python3 file.py
标志,然后可以看到说明。但是我希望仅通过像Python 2一样输入-h
就可以显示帮助描述。另外请注意,我不想使子解析器成为必需。