반응형
외국 키와 관련된 장고의 DeleteView 문제를 해결하려면 어떻게 해야 합니까?
앱(DMS 및 ObjPDW)을 사용해야 합니다.첫 번째는 일부 파일을 관리하기 위한 것입니다.여기에는 FileField 등이 포함된 DMS_Dokument 모델이 있습니다.최근에 저는 후자의 앱(ObjPDW)에 새로운 모델을 추가했고 Dokument_DMS에 외부 키를 포함했습니다.
class Zahlungsstrom(models.Model):
zahlung_bezeichnung = models.CharField(max_length=550, blank=False, null=False, verbose_name="Bezeichnung")
zahlung_betrag = models.DecimalField(max_digits=7, decimal_places=2, default=None, blank=True, null=True)
zahlung_dok_fk = models.ForeignKey(dmsdok.DMS_Dokument, on_delete=models.SET_DEFAULT, default=None, null=True, blank=True, verbose_name="Zahlungsdokument")
이제 (DeleteView CBV를 사용하여) DMS_Dokument 개체를 삭제하고 싶었지만 "프로밍 오류"가 발생했습니다. "(1146, "테이블 'DB_DMS.ObjPDW_zahlungsstrom'이 존재하지 않습니다."
뭐가 문제인지 전혀 모르겠어요 :(
편집: 이것에 대해 분명히 말씀드리겠습니다.두 앱 모두 자체 데이터베이스가 있습니다.저는 장고가 두 데이터베이스 간에 모델을 연관시키는 것을 추천하지 않는다는 것을 알고 있지만, 제가 경험이 풍부한 프로그래머가 아니기 때문에 관계를 작동시킬 수 있는 이유를 알 수 없지만 삭제가 그렇게 문제입니다.
또한 DMS_Dokument 모델에 관한 코드를 추가하고 싶습니다.또한 delete def도 있습니다.
class DMS_Dokument(models.Model):
dms_dok_titel = models.CharField(max_length=255, blank=True)
dms_dok_beschreibung = models.CharField(max_length=3000, blank=True, null=True)
dms_dok_datei = models.FileField(max_length=255,upload_to='DMS/')
dms_dok_gehoert_zu_app = models.CharField(max_length=255, choices=app_choices, blank=False, null=False)
def save(self, *args, **kwargs):
preserve_ext = extension(self.dms_dok_datei.name)
neuer_dateiname = self.dms_dok_gehoert_zu_app + '_' + self.dms_dok_titel + '_' + self.dms_dok_hochgeladen_am.strftime("%d.%m.%Y")
self.dms_dok_datei.name = neuer_dateiname + preserve_ext
super(DMS_Dokument, self).save(*args, **kwargs)
def delete(self):
self.indexes.all().delete()
super(DMS_Dokument, self).delete()
아마도 이것이 도움이 될 것입니다.
테이블이 존재하지 않는다는 오류 메시지가 나타납니다.마이그레이션을 작성하고 DB에 테이블을 작성하려면 다음 명령을 실행해야 합니다.
python manage.py makemigrations
python manage.py migrate
언급URL : https://stackoverflow.com/questions/64544284/how-can-solve-a-deleteview-problem-in-django-concerning-a-foreign-key
반응형
'programing' 카테고리의 다른 글
일반 테이블 재쿼리 (0) | 2023.08.15 |
---|---|
Angular 2 날짜 입력이 날짜 값에 바인딩되지 않습니다. (0) | 2023.08.15 |
구글 크롬에서 HAR 아카이브를 실행할 수 있습니까? (0) | 2023.08.15 |
mysqld는 간단한 쿼리를 실행할 때 신호 6을 받았습니다. (0) | 2023.08.15 |
시스템 호출 소스 코드는 어디에서 찾을 수 있습니까? (0) | 2023.08.15 |