我有以下django模型。代表django中的多對多模型爲json
class Rule(models.Model):
name = models.CharField(max_length=50)
user = models.ForeignKey(User, related_name='rules', null=True, blank=True)
threshold = models.CharField(max_length=50, null=True, blank=True)
alert_value = models.CharField(max_length=50, null=True, blank=True)
is_internal = models.BooleanField(default=False)
def __unicode__(self):
return self.name
def to_json(self):
return {
'name': self.name,
'threshold': self.threshold,
'alert_value': self.alert_value
}
class Module(models.Model):
name = models.CharField(max_length=50)
description = models.TextField(null=True, blank=True)
is_internal = models.BooleanField(default=False)
rules = models.ManyToManyField(Rule)
def to_json(self):
return {
'name': self.name,
'description': self.description,
'rules': self.rules
}
def __unicode__(self):
return self.name
現在我該如何編寫模塊中的to_json方法來接受許多規則。
我目前做的
response = [module.to_json() for module in modules if module.name is not None]
,它拋出一個錯誤說服力。
<django.db.models.fields.related.ManyRelatedManager object at 0x10811c390> is not JSON serializable
什麼是表示,作爲一個JSON和迭代過來的最好辦法。
我認爲你不需要M2M那裏,ForeignKey應該足夠了。 – 2014-11-25 10:28:31