안녕하세요. 다음 질문을 읽은 후에이 질문을하고 있습니다 : Question_1 및 Question_2. Question_1에는 적절한 답변이없고 Question_2에는 대체 솔루션이 있지만 완벽한 솔루션은 아닙니다.장고 인라인 - 편집 비활성화 추가 허용
여기에는 두 개의 모델과 관리자가 있습니다.
models.py
class TaskList(models.Model):
task_name = models.CharField(max_length = 255, unique = True)
description = models.TextField()
assignee_role = models.ForeignKey(Group, related_name = "assignee_roles")
assignee_name = models.ForeignKey(User, related_name = "assignee_names")
def __unicode__(self):
return "%s" % (self.task_name)
class TaskComments(models.Model):
tasklist = models.ForeignKey(TaskList)
time = models.DateTimeField(null = True, blank = True)
comment = models.TextField()
def __unicode__(self):
return ""
def save(self, *args, **kwargs):
self.time = datetime.datetime.now()
super(TaskComments, self).save(*args, **kwargs)
admin.py 여기
class TaskCommentsInlineAdmin(admin.TabularInline):
model = TaskComments
can_delete = False
class TaskListAdmin(admin.ModelAdmin):
inlines = [TaskCommentsInlineAdmin, ]
def add_view(self, request, form_url = '', extra_context = None):
self.readonly_fields =()
return super(TaskListAdmin, self).add_view(request, form_url, extra_context)
def change_view(self, request, form_url = '', extra_context = None):
self.readonly_fields = ('task_name', 'description',)
return super(TaskListAdmin, self).change_view(request, form_url, extra_context)
모델 TaskComments는 태스크 목록 인라인으로 사용되고있다.
시나리오 다음은 1
내가 무엇을 달성하고자하는 것은 :
작업을 추가하면
- 필드 "시간"을 숨기기 및 백엔드에서 업데이트 코멘트.
- "의견"을 입력하고 저장할 수 있습니다.
절약 의견
- 후 열 모두 "시간"과 "설명"필드가 이미 추가 코멘트를 볼 수 및 읽기 전용이어야한다.
- 위에서 설명한대로 새 설명을 추가 할 수 있습니다.
이전 시나리오 등이
- 같은 시나리오.
- 덧붙여 덧붙여 코멘트는 그것을 추가 한 사용자에 대해서 편집 가능해야하고, 다른 모든 사용자들에게는 읽기 전용이어야합니다. (나는 코멘트를 추가하는 사용자를 업데이트하고 얻을 수있다).
이것들은 내가 달성하고 싶은 것들입니다. 나는 add_view과 change_view (admin)을 사용해 보았습니다. 그러나 그들은 인라인으로 일하고 있지 않습니다. 이러한 목표를 달성 할 수있는 해결책을 제시하십시오. 미리 감사드립니다.