Djangocompositekey包出错

2024-04-19 14:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我的django项目需要一个复合密钥。我找到this projects并尝试使用它。你知道吗

class Loccupy(models.Model):

    id = db.MultiFieldPK('lolockcode', 'loroomcode', 'loindate', 'loopercd')

    lolockcode = models.IntegerField(blank=True, null=True,
    loroomcode = models.IntegerField(blank=True, null=True,)
    loindate = models.DateField(blank=True, null=True,)
    loopercd = models.IntegerField(blank=True, null=True,)

但我错了:

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/.../lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/home/.../lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
django.setup()
File "/home/.../lib/python2.7/site-packages/django/__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/.../lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/home/.../lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/home/.../.pyenv/versions/2.7.10/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/.../models.py", line 133, in <module>
class Loccupy(models.Model):
File "/home/.../lib/python2.7/site-packages/django/db/models/base.py", line 282, in __new__
new_class._prepare()
File "/home/.../lib/python2.7/site-packages/django/db/models/base.py", line 306, in _prepare
opts._prepare(cls)
File "/home/.../lib/python2.7/site-packages/compositekey/db/models/fields/wrap.py", line 13, in _prepare
for prepare_action in getattr(opts, "_lazy_prepare_field_actions", []): prepare_action()
File "/home/.../lib/python2.7/site-packages/compositekey/db/models/fields/multiplekey.py", line 71, in lazy_init
cls._meta.unique_together.append(names)
AttributeError: 'tuple' object has no attribute 'append'

这个错误的原因是什么?我在自述示例中编写代码。 也许,这是另一个添加复合密钥的包? 我需要一个复合密钥,而不是唯一的。我有一个现有的数据库?只有这四列,没有一列不是唯一的。只有所有四列可以是唯一的。你知道吗


Tags: djangoinpytruehomedbinitmodels