首页 文章

django - AttributeError:type object 'file'没有属性'set_user'

提问于
浏览
0

我创建了一个名为 file 的模型 . 它运行良好,然后我在名为 set_user 的类中创建了一个元素,它给出了一个错误 . 所以,我删除了它 . 但是,我认为它没有删除我的数据库,因为我在尝试迁移时遇到此错误:

Traceback(最近一次调用最后一次):文件“manage.py”,第10行,在execute_from_command_line(sys.argv)文件“/usr/lib/python3/dist-packages/django/core/management/init.py”中,第363行,在execute_from_command_line utility.execute()文件“/usr/lib/python3/dist-packages/django/core/management/init.py”,第355行,执行self.fetch_command(子命令).run_from_argv(self . argv)文件“/usr/lib/python3/dist-packages/django/core/management/base.py”,第283行,在run_from_argv中自执行(* args,** cmd_options)文件“/ usr / lib / python3 /dist-packages/django/core/management/base.py“,第330行,执行输出= self.handle(* args,** options)文件”/ usr / lib / python3 / dist-packages / django / core /management/commands/makemigrations.py“,第96行,处理程序加载程序= MigrationLoader(None,ignore_no_migrations = True)文件”/usr/lib/python3/dist-packages/django/db/migrations/loader.py“,行52,在init self.build_graph()文件“/usr/lib/python3/dist-packages/django/db/migrations/loader.py”,第203行,在build_中graph self.load_disk()文件“/usr/lib/python3/dist-packages/django/db/migrations/loader.py”,第114行,在load_disk中migration_module = import_module(“%s . %s”%(module_name, migration_name))文件“/usr/lib/python3.6/importlib/init.py”,第126行,在import_module中返回_bootstrap._gcd_import(name [level:],package,level)文件“”,第994行,在_gcd_import中文件“”,行971,在_find_and_load文件“”,第955行,在_find_and_load_unlocked文件“”,第665行,在_load_unlocked文件“”,第678行,在exec_module文件“”,第219行,在_call_with_frames_removed文件“/ home / hashir / website / one / migrations / 0017_auto_20171222_2108.py“,第11行,在类Migration(migrations.Migration)中:文件”/home/hashir/website/one/migrations/0017_auto_20171222_2108.py“,第21行,在Migration字段中= models.ForeignKey(default = one.models.file.set_user,on_delete = django.db.models.deletion.CASCADE,to = settings.AUTH_USER_MODEL),AttributeError:type object'file'没有属性'set_user'

这是models.py:

from django.db import models
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User

class file(models.Model):
    title = models.CharField(max_length=250)
    FILE_TYPE_CHOICES = (
        ('audio','Audio'),
        ('games','Games'),
        ('videos','Videos'),
        ('applications','Applications'),
        ('books','Books/Docs'),
        ('others','Others')
        )
    file_type = models.CharField(max_length=12,choices=FILE_TYPE_CHOICES,default='others')
    description = models.TextField(max_length=6000)

    def get_absolute_url(self):
        return reverse('one:user')

    def __str__(self):
        return self.title

1 回答

  • 0

    只需从项目中删除迁移文件夹,然后再次应用迁移 . 然后运行以下3个命令:

    python manage.py migrate yourapp zero
    python manage.py makemigrations yourapp
    python manage.py migrate yourapp
    

相关问题