Python 如何创建Django-OneToMany关系?

Python 如何创建Django-OneToMany关系?,python,django,foreign-keys,Python,Django,Foreign Keys,所以,我一直在制作我的第一个网站,并在Heroku上托管它。 该网站的目的是发布导致特定密钥的挑战(有点像非常简单的CTF)。提交密钥后,挑战就解决了 这是mymodels.py文件中的代码 from django.db import models from django.contrib.auth.models import User class Post(models.Model): """ Each post represents one challenge """ ti

所以,我一直在制作我的第一个网站,并在Heroku上托管它。 该网站的目的是发布导致特定密钥的挑战(有点像非常简单的CTF)。提交密钥后,挑战就解决了

这是mymodels.py文件中的代码

from django.db import models
from django.contrib.auth.models import User


class Post(models.Model):
    """ Each post represents one challenge """
    title = models.CharField(max_length=40)
    text = models.TextField()
    secret_key = models.CharField(max_length=30)
    solved = models.BooleanField(default=False, name='solved')
    file = models.FileField(upload_to='uploads/', null=True, blank=True)
    # solved_by = models.ForeignKey(User, on_delete=models.CASCADE)

    def check_state(self, answer):
        """ Examine whether the challenge was solved """
        if self.secret_key == answer:
            self.solved = True
            self.save()
            return True
        return False

    def __str__(self):
        return self.title

每个帖子基本上都是一个挑战。当有人解决质询/帖子时,已解决的值设置为True,并控制文本是否对用户可见。现在,当一个人解决了一个挑战时,其他人都在解决它。我希望每个用户解决每个挑战,并为每个挑战提供自己的已解决变量。我试着用外键,但不行。我需要什么样的数据库关系才能完成这项工作?

听起来您的Post和用户模型之间需要一个多对多UserPost表

这样,您可以在每个用户和每个挑战之间建立独特的关系


仅供参考。您可以使用
#
进行单行注释,尽管我了解您尝试采用的描述性方法。

很好地解释了您自己,并分享了您的代码和目标。不过要小心,你很可能会在这个问题上被否决。为什么呢?以前没有人问过这个问题。你真的认为在编程论坛上没有人问过不同的模型关系类型吗?是的,你是对的。说这样的话有点傻。不管怎样,为了不被否决,你会建议我问这个问题吗?