__init __()缺少3个必需的位置参数: - Django 2.0

时间:2018-03-04 02:30:56

标签: python django

当我尝试将我的模型实例访问到admin时发生此错误,这是我的models.py

from django.db import models


class Repo(models.Model):
    name = models.CharField(primary_key=True, max_length=150)
    creation_datetime = models.DateTimeField()
    update_datetime = models.DateTimeField()

    def __init__(self, name, creation, update, *args, **kwargs):
        super(Repo, self).__init__(*args, **kwargs)
        self.name = name
        self.creation_datetime = creation
        self.update_datetime = update

    def __str__(self):
        return self.name


class Stats(models.Model):
    name = models.CharField(primary_key=True, max_length=30)
    value = models.TextField()

    def __str__(self):
        return self.name

这是我的admin.py

from django.contrib import admin
from webapp.models import Repo

admin.site.register(Repo)

这是追溯:

Internal Server Error: /admin/webapp/repo/add/
Traceback (most recent call last):
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/contrib/admin/options.py", line 551, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/contrib/admin/sites.py", line 224, in inner
return view(request, *args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/contrib/admin/options.py", line 1508, in add_view
return self.changeform_view(request, None, form_url, extra_context)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/utils/decorators.py", line 67, in _wrapper
return bound_func(*args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/utils/decorators.py", line 149, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/utils/decorators.py", line 63, in bound_func
return func.__get__(self, type(self))(*args2, **kwargs2)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/contrib/admin/options.py", line 1408, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/contrib/admin/options.py", line 1462, in _changeform_view
form = ModelForm(initial=initial)
File "/home/kristian/.virtualenvs/gitjavier/lib/python3.4/site-packages/django/forms/models.py", line 298, in __init__
self.instance = opts.model()
TypeError: __init__() missing 3 required positional arguments: 'name', 'creation', and 'update'

有什么想法吗?

我认为它与__init__调用模型有关,但似乎没问题,我应该在admin.py修改它的实例吗?

0 个答案:

没有答案