Rozszerzyłem stronę administratora Django dla mojej aplikacji, aby umożliwić dostęp innym osobom nieupoważnionym/superużytkownikom. To działa dobrze.Uprawnienia modelu proxy dla Django nie pojawiają się
Stworzyłem model proxy dla istniejącego modelu i zarejestrowałem go na mojej stronie administratora, jednak nie jest on wyświetlany dla użytkowników niebędących pracownikami. Z dokumentacji, którą przeczytałem, rozumiem, że modele proxy mają własne uprawnienia. Sprawdziłem i te nie pojawiają się na liście dostępnych uprawnień.
Oto mój kod w przypadku pomaga:
Normalny model
class Engagement(models.Model):
eng_type = models.CharField(max_length=5)
environment = models.CharField(max_length=8)
is_scoped = models.BooleanField()
class Meta:
ordering = ['eng_type', 'environment']
app_label = 'myapp'
Proxy model
class NewRequests(Engagement):
class Meta:
proxy = True
app_label = 'myapp'
verbose_name = 'New Request'
verbose_name_plural = 'New Requests'
model Admin
class NewRequestsAdmin(ModelAdmin):
pass
def queryset(self, request):
return self.model.objects.filter(is_scoped=0)
klienta Admin Rejestracja
myapps_admin_site.register(NewRequests, NewRequestsAdmin)
Byłem zarządzania mój DB z Południa. Zgodnie z this post, musisz trochę go zmodyfikować, postępując zgodnie z the instructions it points users to. To była porażka. Mój DB nie zawiera w sobie wielu informacji, więc odkomentowałem Południe i uruchomiłem zwykły syncdb, aby wykluczyć Południe. Niestety, to wciąż nie działa, a ja nie mogę. Każda pomoc jest doceniana.
Edit
To było na Django 1.4
Miałem również ten problem. –
jakiej wersji django używasz? Mam tę samą konfigurację w wersji 1.4 i nie jest ona rozwiązana, więc zastanawiam się, kiedy została ona rozwiązana? – fastmultiplication
To również używało wersji 1.4. Nie wiem, dlaczego nie zostało to rozwiązane. Zaktualizowałem oryginalny post z wersją. – chirinosky