2016-12-16 33 views
5

tôi đã nhập khẩu các tập tin tiêu đề sauArrayField mất tích 1 cần tranh cãi vị trí

from django.contrib.postgres.fields import ArrayField 

Được sử dụng như sau trong mô hình

question_array = ArrayField(models.IntegerField, blank=True,) 

tôi nhận được lỗi sau

Traceback (most recent call last) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\__init__.py", line 27, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\apps\registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\apps\config.py", line 199, in import_models 
    self.models_module = import_module(models_module_name) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\importlib\__init__.py", line 126, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 986, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 969, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 673, in _load_unlocked 
    File "<frozen importlib._bootstrap_external>", line 665, in exec_module 
    File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed 
    File "C:\Users\DELL\Desktop\cstrom\comp\models.py", line 24, in <module> 
    class User(models.Model): 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\db\models\base.py", line 157, in __new__ 
    new_class.add_to_class(obj_name, obj) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\db\models\base.py", line 316, in add_to_class 
    value.contribute_to_class(cls, name) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\db\models\fields\__init__.py", line 689, in contribute_to_class 
    self.set_attributes_from_name(name) 
    File "C:\Program Files (x86)\Python\Python35-32\lib\site-packages\django-1.10.4-py3.5.egg\django\contrib\postgres\fields\array.py", line 75, in set_attributes_from_name 
    self.base_field.set_attributes_from_name(name) 
TypeError: set_attributes_from_name() missing 1 required positional argument: 'name' 
+1

Nếu bạn là người mới bắt đầu, hãy tránh xa mảng trường. Dính vào thiết kế cơ sở dữ liệu thích hợp. http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad/3653574 – e4c5

+0

^Rất tốt, trong khi các câu trả lời cố gắng giải quyết giải quyết lỗi bạn đang gặp phải. Tên biến mà bạn cho rằng nó có thể là một 'ForeignKey' hoặc mối quan hệ khác – Sayse

Trả lời

7

Theo số docs

Bạn vẫn cần phải xác định đầy đủ các lĩnh vực bên trong lĩnh vực mảng

question_array = ArrayField(models.IntegerField(null=True, blank=True), blank=True,) 
2

models.IntegerField là một chức năng không phải là một tài sản, do đó bạn sẽ được yêu cầu để gọi nó như một hàm. () ở cuối

question_array = ArrayField(models.IntegerField(blank=True), blank=True,) 

Đọc thêm về nó here.

Các vấn đề liên quan