0
我不知道为什么,但django-admin,raw_id_fields正在给我返回一个相关的字段错误。我会解释我所做的以及我尝试过的不同结果。raw_id_fields引发错误相关字段得到无效的查找:icontains
对于这种特殊的情况下,我有5种不同的型号:
- 系统:孤儿
- 理念:孤儿
- 提取物:与系统相关,1种提取物是1个系统的儿童,1个系统许多提取物
- 映射:与系统相关的两次:映射是两个系统之间的关系,一个是源,另一个是目的地
- MappingDestinationExtractConcept:在mappi中ng,对于给定的概念,目标系统的特定提取将被“映射”。
我没有问题在所有模型中使用raw 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
,我只是想在MappingTargetTableConcept的目的地提取
# admin.py
class MappingTargetTableConceptManager(admin.ModelAdmin):
raw_id_fields = ('destination_extract',)
admin.site.register(MappingTargetTableConcept, MappingTargetTableConceptManager)
管理员显示搜索放大镜,并弹出显示来电原始ID,但当在弹出的提取物,我想(或任何)它带来的。在控制台这部作品Extract.objects.filter(extract_name__icontains='Contract')
我试图取代raw_id为`raw_id_fields =(“destination_extract__extract_name”)..没有成功