예외를 발생) (에서만() 메소드를 삭제 호출하면이 전 모델 다음 있다고 가정 해 봅시다 :장고 : 내가 좋아하는 유일한()</strong><strong>에) (삭제 <strong>를 호출 할</strong> 방법을 시도하고 때</p> <pre><code>class Student(models.Model): name = models.CharField(max_length = 100) ... </code></pre> <p>: DoesNotExist
Student.object.filter(pk__in=[1, 5, 6]).only('id', 'name').delete()
내가받을 다음과 같은 오류 :
DoesNotExist: Student matching query does not exist
,
내 질문 : only()에서 delete()를 호출 할 수 없습니까?
참고 : 성능 향상을 위해 Django 관리자의 get_queryset() 메소드에서만()을 사용하고 있습니다. 우리가 관리자의 개체, 우리는이 오류가 삭제하려고 할 때
class StudentAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(StudentAdmin, self).get_queryset(request)
return qs.only('id', 'name', ...)
: 같은 귀하의 정보에 대한
, 내 관리자가 보인다.
모델의 기본 필드가 무엇인가에
변경? Django는 기본 키를 사용하여 객체와 상호 작용합니다. –
DoesNotExists는'Model.objects.get()'에서만 발생합니다. 따라서 이전 코드와 동일한 코드를 작성한 경우 서버가 다시 시작 되었습니까? 다시 시작한 후 문제가 사라지면 모든 * .pyc 파일을 제거하십시오. 나는 단지 삭제를 시도하고 그것은 나를 위해 잘 일했다. 불행히도 여기 게시 할 수 없습니다. –
@ TulasiRam, 내 생각에, 당신은 그 질문을 오해했습니다. 나는 [only() method] (https://docs.djangoproject.com/en/1.10/ref/models/querysets/#only) –