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 に答える