-->

ListField与ForeignField在Django,nonrel(ListField wit

2019-10-17 13:03发布

这似乎很难找到Django的蒙戈引擎使用ListField与ForeignField ..我的逻辑看起来像下面的一个完整的例子,

class GameSession(models.Model):
    # id => token, is global unique random code
    id = models.CharField(max_length=45, primary_key=True)
    def save(self, *args, **kwargs):     
        if not self.pk:
            self.pk = util.get_random_string(32)  
        super(GameSession, self).save(*args, **kwargs)

class GameUser(models.Model):
    ...
    game_session = fields.ListField(models.ForeignKey(GameSession))

在别的地方我不喜欢这样,

game_session = GameSession()
game_session.save()
self.game_session.append(game_session)
self.save()

所以分贝内,场self.game_session是一样的东西

(Pdb) self.game_session
[u'GameSession object']

它不能存储game_session元素的PK。 如何正确使用ListField(插入,检索为外国模式,删除)? 或者它仍然无法与ForeignField支持ListField?

Answer 1:

采用:

self.game_session.append(game_session.id)

使用ForeignKey的是不是很“自动”保存条目到ListField的时候,但是当你需要引用这些对象中,ForeignKey的将获取的对象为您服务。



文章来源: ListField with ForeignField in django-nonrel