Я пытаюсь создать отдельную запись на странице администратора, где я могу видеть поля, которые меня интересуют из разных моделей на одной странице.
get_sensor_id определен в модели с именем MountingSensor, отдельно от SensorViewTypeBackgroundInfo
@admin.register(SensorViewTypeBackgroundInfo)
class SensorViewBackground(admin.ModelAdmin):
model = SensorView
fields = ('sensor_view_id', 'sensor_view_name')
list_display = ('enum_name', 'info_id', 'get_sensor_id')
В настоящее время я получаю следующую ошибку:
Значение «list_display [2]» относится к «get_sensor_id», который не является вызываемым, атрибутом «SensorViewBackground» илиатрибут или метод в app.SensorViewTypeBackgroundInfo
Следуя некоторым советам, я отредактировал код в models.py следующим образом
class SensorViewTypeBackgroundInfo(models.Model):
info_id = models.ForeignKey(Sensor, null=True, related_name="unique_id", on_delete=models.SET_NULL, db_column='sensor_id')
enum_name = models.TextField(blank=True, null=True)
def get_sensor_id(self, obj):
return MountedSensor.objects.get(mounted_sensor_id)
class MountedSensor(models.Model):
sensor_id = models.IntegerField(unique=True)
mounted_sensor_id = models.IntegerField(primary_key=True)
И теперь я получаю следующую ошибку:
Ошибка типа: get_sensor_id () отсутствует 1 обязательный позиционный аргумент: 'obj'