小编MeL*_*MeL的帖子

如何在 Heroku 上正确安装 PyICU?

我正在尝试在 Heroku 上部署我的 Python 应用程序,但没有成功。PyICU包裹似乎出现了问题,我不确定如何更正。我已经确认这是我部署的唯一问题;当我PyICU从我的需求文件中删除时,一切正常。但当然,没有它我的网站就无法运行。

谁能指导我如何在 Heroku 上正确安装这个软件包?我尝试了各种方法,包括下载 .whl 文件,然后将其添加到我的需求文件中,但随后出现另一个错误:

ERROR: PyICU-2.7.3-cp38-cp38m-win_amd64.whl is not a supported wheel on this platform. 我不明白为什么 - 这是正确的 Python 和 os 版本。

以下是构建日志的相关摘录:

-----> Building on the Heroku-20 stack
-----> Using buildpack: heroku/python
-----> Python app detected
-----> Using Python version specified in runtime.txt
-----> Installing python-3.8.10
-----> Installing pip 20.2.4, setuptools 47.1.1 and wheel 0.36.2
-----> Installing SQLite3
-----> Installing requirements with pip
       ...
         Building wheel for PyICU (setup.py): started …
Run Code Online (Sandbox Code Playgroud)

python deployment django heroku pyicu

8
推荐指数
1
解决办法
341
查看次数

Django REST框架:在序列化器中获取相关模型的字段

我是 Django Rest 框架的新手。我试图让我ListAPI展示我的Quiz(和相关)模型的各个领域。attempt_number除了我的领域外,它运行良好。我得到了正确的查询集,但我不确定如何仅获取每个查询的相关值。用户可以根据需要多次参加每个测验,并且我想显示每次尝试的查询集,因为分数等会有所不同。

我的模型设置如下:

class Quiz(models.Model):
    title = models.CharField(max_length=15)
    slug = models.SlugField(blank=True)
    questions_count = models.IntegerField(default=0)

class Question(models.Model):
    quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE)
    label = models.CharField(max_length=1000)

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    answer = models.CharField(max_length=100)
    is_correct = models.BooleanField('Correct answer', default=False)

class QuizTaker(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    quiz = models.ForeignKey(Quiz, on_delete=models.CASCADE)
    correct_answers = models.IntegerField(default=0)
    completed = models.BooleanField(default=False)
    attempt_number = models.PositiveIntegerField(default=0)
Run Code Online (Sandbox Code Playgroud)

我的序列化器看起来ListAPI如下:

class MyQuizListSerializer(serializers.ModelSerializer):
    attempt = serializers.SerializerMethodField()
    # etc..
    class Meta:
        model = Quiz
        fields …
Run Code Online (Sandbox Code Playgroud)

python django serialization django-models django-rest-framework

6
推荐指数
1
解决办法
1万
查看次数