Ich habe zwei Modelle Restaurant und Details. Der Superuser weist jedem Restaurant einen Benutzer zu. Wenn sich dieser Benutzer bei admin anmeldet, möchte ich nur die Details anzeigen, die dem Restaurant dieses Benutzers zugeordnet sind, und er sollte sie auch bearbeiten können. Ich versuchte, Admins Queryset-Funktion außer Kraft zu setzen, aber ohne Erfolg. Jede Hilfe würde geschätzt werden. Das ist, was ich bisher gemacht habeSo überschreiben Django Admin
Ich bin nur ein Anfänger in Django.
class RestaurantAdmin(admin.ModelAdmin):
model = Details
def save_model(self, request, obj, form, change):
obj.user = request.user
super(RestaurantAdmin, self).save_model(request, obj, form, change)
def queryset(self, request):
print(request.user)
qs = super(ResaturantAdmin, self).queryset(request)
# If super-user, show all comments
if request.user.is_superuser:
return qs
return qs.filter(owner=request.user)
admin.site.register(Restaurant)
admin.site.register(Details,RestaurantAdmin)