class Pinyin(models.Model):
pinyinWord = models.CharField(max_length=200)
englishWord = models.CharField(max_length=1000)
englishPhrase = models.TextField()
pinyinPhrase = models.TextField()
def __unicode__(self):
return u"%s | %s" % (self.pinyinWord, self.englishWord)
class Learned(models.Model):
def __unicode__(self):
return u"%s | %s | %s | %s" % (self.pinyinWord, self.user, self.date, self.learned)
pinyinWord = models.ForeignKey(Pinyin)
user = models.ForeignKey(User)
date = models.DateField()
learned = models.BooleanField()
我是django和编程的新手,我想为Model Learned添加一个值,但前提是它还没有被添加到针对特定用户的Learned中,但似乎不能确切地掌握如何做到这一点。在
例如,我想从拼音中获取一个值,如果拼音.id以及用户id不在已学习的模型中,则将该单词添加到已学习的模型中,并将用户id、今日日期和已学设置为False/0。在
我希望你看到的是:
Model.objects.get_or_create方法首先尝试一个模型.objects.get使用提供的参数调用。如果失败,将创建对象,并且created将为True,否则created为False。在
因为这是对两个字段的精确查找(例如,不是拼音单词帴u包含的),所以当没有学习实例满足这两个字段时,它将失败。然后它就被创造出来了。在
之后,您可以设置日期等并保存实例。在
您可以使用model meta选项
unique_together
:相关问题 更多 >
编程相关推荐