Моделька новостей#170
Conversation
|
старую модельку точно лучше потом убрать |
yakser
left a comment
There was a problem hiding this comment.
в целом ок, но после дедлайна я бы порефакторил
| def has_permission(self, request, view): | ||
| """ | ||
| Creation permission | ||
| Currently can only be created via admin panel |
There was a problem hiding this comment.
проекты не только через админку, докстринг нужно поправить, а то непонятно)
|
|
||
| try: | ||
| # try to judge it as a project | ||
| project = Project.objects.get(pk=view.kwargs["project_pk"]) |
There was a problem hiding this comment.
не лучше ли утащить эту логику в permissions проектов? если у нас будет 2-3 таких модельки то этот пермишн разростётся сильно
| permission_classes = [IsNewsCreatorOrReadOnly] | ||
| pagination_class = NewsPagination | ||
|
|
||
| def get(self, request, *args, **kwargs): |
There was a problem hiding this comment.
а зачем вообще общая вьюшка новостей? они же отображаются по урлам в других приложениях
| return News.objects.get_news(obj=program) | ||
|
|
||
| def get_queryset(self): | ||
| if self.kwargs.get("project_pk") is not None: |
There was a problem hiding this comment.
выглядит странно) но пока что ок
yakser
left a comment
There was a problem hiding this comment.
надо пофиксить заколдованную миграцию
| content_type=project_content_type, | ||
| object_id=project_news.project.id, | ||
| files=project_news.files.all(), | ||
| views=project_news.views.all(), |
There was a problem hiding this comment.
У меня не работает и хз как эта штука работает в экшне. Мб стоит заменить get_model на обычны импорт (https://stackoverflow.com/questions/36256324/why-genericrelation-fields-does-not-work-in-data-migrationsdjango)
Но тогда проблема с files
| text=project_news.text, | ||
| content_type=project_content_type, | ||
| object_id=project_news.project.id, | ||
| files=project_news.files.all(), |
Work in progress, пока что не мерджить
Нужно: