Структура Django Excell
Мне нужно сделать webapp, который основан на excell. Должно быть два вида групп одна для пользователя, который может редактировать и просматривать данные и одна для персонала, который также может создавать данные для работы для пользователя.
Каждый из них имеет ограниченный просмотр, пользователь должен видеть только свои данные, в то время как сотрудники должны видеть все, что сделал каждый пользователь или изменил другой сотрудник.
Я не могу понять, что это за ограничения.
мой логин такой
class Einloggen(LoginView):
template_name = 'SCHUK/Einloggen.html'
fields ='__all__'
redirect_authenticated_user = True
def get_success_url(self):
if self.request.user.groups.filter(name='Personalverwaltung').exists():
return reverse('Dashboard')
else:
return reverse('Schulverzeichnis', args=[self.request.user.pk])
но когда дело доходит до отображения данных для персонала, тут я упираюсь в стену.
class Dashboard (LoginRequiredMixin, ListView):
model = SchulverzeichnisTabelle
template_name = 'SCHUK/Dashboard.html'
context_object_name = 'Dashboard'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['Schulverzeichnis'] = SchulverzeichnisTabelle.objects.all()
return context
пока я могу перечислить все с помощью иностранных ключей, данные, которые создает персонал, не перечисляются, потому что иностранный ключ показывает только одну запись
Когда я использую поле mtm, я получаю следующее в моем шаблоне
<QuerySet []>
Читая документацию и все остальное, вы не можете читать отдельные записи из mtm, только то, что mtm сохранил
Как я могу показать каждое отдельное поле из mtm или есть обходной путь для этого в момент, когда я использую это в модели
class Model(models.Model):
stuff = models.Whatever(etc)
def __str__(self):
return '{}'.format (self.stuff)
и вызовите его в шаблоне таким образом
{{i.stuff_FK.all|join:', '}}
но редактирование и удаление - это беспорядок, а создание требует двух правок для персонала - одна для ввода материала, а другая - где материал должен появиться
Я имею в виду, что должно быть лучшее решение, чем это