Django-문장과 관련된 분류를 삭제할 때 해당 분류에 속하는 문장은 모두 삭제되었다.
9179 단어 Django
분류 모델:
4
class Category(models.Model):
"""
"""
nid = models.AutoField(primary_key=True)
title = models.CharField(verbose_name=' ', max_length=32,unique=True)
blog = models.ForeignKey(verbose_name=' ', to='Blog', to_field='nid')
문장의 모형:class Article(models.Model):
'''
'''
nid = models.BigAutoField(primary_key=True)
title = models.CharField(verbose_name=' ',max_length=128)
summary = models.CharField(verbose_name=' ',max_length=255)
read_count = models.IntegerField(default=0)
comment_count = models.IntegerField(default=0)
up_count = models.IntegerField(default=0)
down_count = models.IntegerField(default=0)
create_time = models.DateTimeField(verbose_name=' ',auto_now_add=True)
blog = models.ForeignKey(verbose_name=' ',to='Blog',to_field='nid')
category = models.ForeignKey(verbose_name=' ', to='Category', to_field='nid', null=True,on_delete=models.SET_NULL)
2. 실행 코드
4
@auth
def delete_category(request):
if request.method == 'POST':
data = request.POST.get('nid')
blog_id = request.session['user_info']['blog__nid']
models.Category.objects.filter(nid=data).delete()
return HttpResponse(200)
분류된nid 삭제 대상을 통해 관련 글은django 기본 등급에 의해 간접적으로 삭제되었습니다.3. 해결 방법:
기사의 모델에서 연관 분류의 category 속성을 다음과 같이 설정합니다.
category = models.ForeignKey(verbose_name=' ', to='Category', to_field='nid', null=True,on_delete=models.SET_NULL)
4. 관련 자료
ForeignKey에 속성을 추가하고,
on_delete=models.SET_NULL
됐습니다.
이 속성에는 다음과 같은 추가 값이 있습니다.
CASCADE:기본값, 캐스케이드 삭제
PROTECT:django.db.models.ProtectedErrordjango.db.models.ProtectedError 오류로 연관된 객체 삭제 방지
SET_NULL: ForeignKey를 null로 설정합니다.이건 null이 True로 설정된 경우에만 SET 를 사용할 수 있습니다.DEFAULT: ForeignKey를 기본값으로 설정합니다.기본값은 SET()를 미리 설정해야 합니다. 메서드에서 반환하도록 설정된 값입니다.
DO_NOTHING: 아무것도 하지 않습니다. 데이터베이스 설정이 연결되어야 할 경우 Integrity Error 오류가 발생합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.