导入序列化程序模型.py:Django休息区

2024-04-27 20:51:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的一个模型类有以下模型

NewsfeedModel.py

class NewsFeed(models.Model):

class NewsStatus(models.Model):

class NewsImage(models.Model):

这是我的序列化程序.py文件

^{pr2}$

到目前为止,它运行良好,我能够在序列化程序中使用模型。现在我必须在我的NewsfeedModel文件中使用序列化程序,所以我在NewsfeedModel文件中导入序列化程序,但它不允许我使用。在

在日志中获取以下错误:

ImportError: cannot import name NewsFeed

有没有办法在模型类中使用序列化程序?在


Tags: 文件py模型程序model序列化models错误
2条回答

处理循环导入的方法是从模块级别移除一个导入,然后在使用它的方法内部执行。在

您还没有显示所有的模型代码,所以我不知道您在哪里使用它,但是如果它在save中,它将如下所示:

def save(self, **kwargs):
    import serializers
    # rest of method

似乎您正在尝试将新闻提要模型导入到其自身。在

django rest框架的流程如下所示:

模型>;序列化程序>;视图

完成序列化程序后,您需要做的就是将模型和序列化程序导入视图.py文件,您将在其中创建类/函数来处理对API的调用。例如:

在视图.py在

from newsfeedmodel.py import *
from serializers.pi import *

class NewsFeedViewSet(viewsets.ModelViewSet):
    queryset = NewsFeed.objects.all()
    serializer_class = NewsFeedSerializer

我建议您阅读DRF文档以便更好地理解:
http://django-rest-framework.org

相关问题 更多 >