簡體   English   中英

嘗試發布數據時出現 Django 1.11 錯誤

[英]Django 1.11 error while trying to post data

我是 Django 1.11 LTS 的新手,我很長時間以來都在嘗試解決這個錯誤。 這是我發生錯誤的代碼:

模型.py:

    name = models.CharField(db_column="name", db_index=True, max_length=128)
    description = models.TextField(db_column="description", null=True, blank=True)
    created = models.DateTimeField(db_column="created", auto_now_add=True, blank=True)
    updated = models.DateTimeField(db_column="updated", auto_now=True, null=True)
    active = models.BooleanField(db_column="active", default=True)    
    customer = models.ForeignKey(Customer, db_column="customer_id")

    class Meta(object):
        db_table="customer_build"
        unique_together = ("name", "customer")

    def __unicode__(self):
        return u"%s [%s]" % (self.name, self.customer)

    def get(self,row,customer):
        build_name = row['build']
        return self._default_manager.filter(name = build_name, customer_id = customer.id).first()

    def add(self,row):
        pass

Views.py 塊:

for row in others:
       rack_name      = row['rack']
       build          = Build().get(row,customer)
       try:
           rack = Rack().get(row,customer)
       except Exception as E:
           msg = {'exception': str(E), 'where':'Non-server device portmap creation', 'doing_what': 'Rack with name {} does not exist in build {}'.format(rack_name,build.name),
                  'current_row': row,  'status': 417}
           log_it('An error occurred: {}'.format(msg))
           return JsonResponse(msg, status = 417)

錯誤回溯:

  File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python3.6/dist-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "./customers/views.py", line 2513, in create_rack
    add_rack_status = add_rack(customer, csv_file)
  File "./customers/views.py", line 1803, in add_rack
    build          = Build().get(row,customer)
  File "./customers/models.py", line 69, in get
    return self._default_manager.filter(name = build_name, customer_id = customer.id).first()
AttributeError: 'Build' object has no attribute '_default_manager'

我試圖了解這個問題,以便我可以解決它。

提前致謝。

問候, 巴拉特

嘗試更改此行:

return self._default_manager.filter(name = build_name, customer_id = customer.id).first()

對此:

return self.__class__._default_manager.filter(name = build_name, customer_id = customer.id).first()

根據 Django 1.10,_default_manager 已棄用,所以我確實return Build.objects.filter(name = build_name, customer_id = customer.id).first() and it solved it.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM