Фильтрация списка изменений администратора Django для отображения определенных строк на основе зарегистрированного пользователя - PullRequest
1 голос
/ 15 сентября 2011

У меня есть такая модель django:

class Tour(models.Model):
   Name=models.CharField(max_length=100)
   Count=models.SmallIntegerField() 
   PriceUnitCode=models.ForeignKey(PriceUnit)
   Price=models.CharField(max_length=12)
   Description=models.TextField()
   ActionDate=models.CharField(max_length=16)
   ActionUser=models.ForeignKey(User)

Когда пользователь входит на сайт администратора, я бы хотел, чтобы пользователь видел только созданные им экземпляры тура (экземпляры тура, для которых ActionUserравно идентификатору вошедшего в систему пользователя).

Как отфильтровать список изменений на основе вошедших в систему пользователей?

Ответы [ 2 ]

3 голосов
/ 16 сентября 2011

Спасибо, приятель Я попробовал ваш код, но в нем была ошибка !! поэтому я изменил его, и теперь он работает хорошо:

class TourAdmin(admin.ModelAdmin):
   def queryset(self, request):
      qs = super(TourAdmin, self).queryset(request)
      if request.user.is_superuser:
            return qs
      return qs.filter(ActionUserCode=request.user)
admin.site.register(Tour,TourAdmin)

Я ставлю код для тех, у кого может быть такая проблема

1 голос
/ 15 сентября 2011

в admins.py

class MyRegisteredTourAdmin(admin.ModelAdmin):
    def queryset(self, request):
        qs = Tour.objects.filter(action_user=request.user)
        return qs
admin.site.register(Tour,MyRegisteredTourAdmin)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...