对扩展用户

时间:2015-08-15 21:35:56

标签: python django django-models many-to-many

所以我有一个userprofile从用户扩展。每个UserProfile都有manyToMany Effect_module。我想在效果模型上添加一个具有User

名称的作者字段
class Effect_module(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=255)
    description = models.TextField()
    html = models.TextField(default='')
    css = models.TextField(default='')
    js = models.TextField(default='')
    up_votes = models.IntegerField()
    down_votes = models.IntegerField()
    ##############################################
    author = models.ManyToManyField('UserProfile')

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    effects = models.ManyToManyField(Effect_module)

在我的模板中effect.author打印"effect_modules.UserProfile.None"

1 个答案:

答案 0 :(得分:0)

在看到文档之后,我看到我在userprofile对象上调用了.all。我还看到当你做一个反向m2m时,设置了包含所有数据的_set属性。好东西,谢谢你们

然后我不得不遍历每个主阵列并完成我的工作。

{% for author in effect.userprofile_set.all %}
    {{ author.user.first_name }}
{% endfor %}