왜 django-admin, raw_id_fields가 관련 필드 오류를 반환하는지 알 수 없습니다. 내가 한 일과 결과없이 시도한 여러 가지 방법을 설명하겠습니다.raw_id_fields raise error 관련 필드에 잘못된 조회가 있습니다. icontains
- 시스템 : 고아
- 개념 : 고아
- 추출물이 특별한 경우를 들어 나는 5 개 가지 모델이 시스템과 관련을, 1 개 추출 1 시스템의 자녀이며, 1 개 시스템이 많은 추출물
- 매핑 : 시스템과 관련 두 번 : 매핑은 원점이고 다른 하나는 대상인 관계입니다.
- MappingDestinationExtractConcept : mappi 내에서 즉, 대상 시스템의 특정 추출은 주어진 개념에 대해 "매핑"됩니다.
모든 모델에서 원시 ID를 사용하지만 관리자 검색 엔진을 사용할 때 악명 높은 icontains 오류를 반환하는 모델 에서 문제가 없습니다.
# Models.py
class System(models.Model):
system_name = models.CharField(max_length=20, null=False, verbose_name='System')
version = models.CharField(max_length=20, blank=True, verbose_name='Version')
class Meta:
unique_together = (('system_name', 'version'),)
class Extract(models.Model):
extract_name = models.CharField(max_length=20, null=False, verbose_name='Extract Name')
system = models.ForeignKey(System, related_name='extracts', on_delete=models.CASCADE, verbose_name='System')
def __str__(self):
return 'Mapping of {} into {}'.format(self.mapping_system, self.destination_system)
class Meta:
unique_together = (('extract_name', 'system'),)
class Mapping(models.Model):
destination_system = models.ForeignKey(System, on_delete=models.CASCADE, related_name='mappings',
verbose_name='Destination System')
mapping_system = models.ForeignKey(System, on_delete=models.CASCADE, related_name='maps_into',
verbose_name='Input System')
mapping_description = models.TextField(blank=True, null=True)
class Meta:
unique_together = (('mapping', 'destination_extract', 'mapping_concept'),)
class MappingTargetTableConceptSources(models.Model):
mapping_target_table_concept = models.ForeignKey(MappingTargetTableConcept, on_delete=models.CASCADE,
related_name='is_used', verbose_name='Mapping Concept')
destination = models.ForeignKey(Extract, on_delete=models.CASCADE, verbose_name='Source Table')
class Meta:
unique_together = (('mapping_target_table_concept', 'source',),)
은 admin.py
에, 나는 단순히 관리자가 검색을위한 확대경을 보여줍니다
# admin.py
class MappingTargetTableConceptManager(admin.ModelAdmin):
raw_id_fields = ('destination_extract',)
admin.site.register(MappingTargetTableConcept, MappingTargetTableConceptManager)
MappingTargetTableConcept의 대상 추출물, 팝업 쇼에 원시 ID로 전화를 걸 있지만, 내가 원하는 (또는 무엇이든) 추출물을 팝업으로 들여다 볼 때. 콘솔에서이 ... 더 성공 ('destination_extract__extract_name') Extract.objects.filter(extract_name__icontains='Contract')
내가 raw_id_fields =`의 raw_id를 교체하려고 작동하지 않습니다