python - 在 python django 上正常导入期间重置错误
问题描述
我有一个导入错误。我在models.py上有一个User模型,我在serializers.py上导入它。以前,一切正常,我什至使用其他文件,突然在serializers.py上出现错误。很抱歉我通过谷歌翻译的英文写作。
模型.py
class User(AbstractBaseUser, PermissionsMixin):
phone_number = models.CharField('телефон номер', max_length=20, unique=True,db_index=True)
avatar = models.ImageField('Аватар', blank=True, null=True, upload_to=get_timestamp_path, default='images/user.png')
nickname = models.CharField('Никнейм', max_length=40, null=True, blank=True)
register_date = models.DateField('Дата регистрация', auto_now_add=True)
is_active = models.BooleanField('Активен', default=True)
is_admin = models.BooleanField('Суперпользователь', default=False)
region = models.ForeignKey(Region, verbose_name="", on_delete=models.CASCADE, null=True, blank=True)
def save(self, *args, **kwargs):
super(User, self).save(*args, **kwargs)
self.nickname = 'User' + str(self.id)
super(User, self).save(*args, **kwargs)
def get_full_name(self):
return self.phone_number
def is_staff(self):
return self.is_admin
def get_short_name(self):
return self.phone_number
def __str__(self):
return self.phone_number
USERNAME_FIELD = 'phone_number'
REQUIRED_FIELDS = []
objects = UserManager()
class Meta:
verbose_name= 'User'
verbose_name_plural = 'Users'
序列化程序.py
from rest_framework import serializers
from .models import User
错误
File "/home/c2dent/afmoon/backend/afmoon/main/models.py", line 7, in <module>
from .utilities import get_timestamp_path
File "/home/c2dent/afmoon/backend/afmoon/main/utilities.py", line 8, in <module>
from .serializers import HouseSerializer, LandSerialzier, VacancySerializer, ResumeSerializer, SecondSerializer, PersonalsClothesSerializer, PersonalsShoesSerializeres, CommonProductDetail, AvtomobilSerialzier, ApartmentSerializer
File "/home/c2dent/afmoon/backend/afmoon/main/serializers.py", line 2, in <module>
from .models import User, BaseProduct, Avtomobil, Apartment, House, Land, Vacancy, Resume, Second, Personals_clothes, Personals_shoes
ImportError: cannot import name 'User
解决方案
您有一个循环导入。模型文件导入实用程序,它导入序列化程序,然后导入模型。
重组文件以导入它。实用程序真的需要导入序列化程序吗?
推荐阅读
- ios - 我的应用程序使用 CoreData 变得越来越大
- sqlite - 我可以使用 DB Browser for SQLite 在 SQLite 表设计中添加注释吗?
- visual-studio-code - VSCode 选择片段
- javascript - 对 Laravel 资源控制器的 AJAX 请求,最佳实践
- visual-build-professional - 构建完成后自动退出 Visual Build Professional 工具?
- python - 将 Excel 相关窗口与 Pandas 相关窗口对齐
- node.js - 无法安装 aerospike,在“node-gyp 重建”步骤中使 aerospike 失败
- html - (Angular)如何将标签动态插入
标签
- sql - SQLite - where 子句不适用于两列
- java - 无法解析 ':app@debugAndroidTest/compileClasspath' 的依赖关系:无法为文件内容创建 MD5 哈希