0

我有一个这样的模型:

class UserAdress(models.Model):
     user = models.ForeignKey(MyUser)
     area = models.ForeignKey(Area)

在管理员中:

class UserAdressAdmin(models.Model):
     list_display = ['user','area']

管理员列出用户的所有区域。:

user1         area1
user1         area2
user2         area1
user2         area2

有什么办法可以这样显示吗?

<a href='link to all user1 areas'>user 1</a>
<a href='link to all user2 areas'>user 2</a>

提前致谢

4

1 回答 1

1

您可能需要重新定义模型和关系——也许使用其他一些关系类型。所以你可以在你的管理模型中添加类似的东西(不是 admin.ModelAdmin 吗?):

class UserAddressAdmin(admin.ModelAdmin):

    def user_areas(self, obj):
        areas = Area.objects.filter(pk__in=UserAddress.objects.filter(user=obj.user).values("area__id"))
        return "<a href='%s'>%s</a>" % (
            reverse("reverse_to_areas"), obj.user.username)
    user_link.allow_tags = True

    list_display = ['user_areas','area']
于 2012-07-03T12:03:35.690 回答