如何限制ManyToManyField的选择?

时间:2019-07-03 23:07:29

标签: django-models

我在一个支持创建问题的网站上工作,并在其中添加了文本和图像,以便人们可以根据它们进行学习。在管理站点上时,我希望唯一的选择是我为每个特定问题创建的选择,而不是我曾经创建的所有选择。


class Alternative(models.Model):
    content = models.TextField()

    def __str__(self):
        snippet = self.content.split()
        if len(snippet) <= 5:
            return ' '.join(snippet)
        else:
            return ' '.join(snippet[:5]) + '...'


class Question(models.Model):
    statement = models.TextField()
    alternatives = models.ManyToManyField('Alternative')

    class Meta:
        verbose_name = _('question')
        verbose_name_plural = _('questions')

    def shuffle_alternatives(self):
        alternatives = list(self.alternatives.all())
        random.shuffle(alternatives)
        return alternatives

    def __str__(self):
        snippet = self.statement.split()
        if len(snippet) <= 5:
            return ' '.join(snippet)
        else:
            return ' '.join(snippet[:5]) + '...'

```python

0 个答案:

没有答案