(Django RF) Невозможно установить 'to_field' в модели ForeignKey

У меня есть четыре модели, как показано ниже:

class Sample(models.Model):
    
    sample_ID = models.CharField(max_length=10, unique=True)
    
    def __str__(self):
        return str(self.sample_ID)

class Image(models.Model):
        
    image_ID = models.CharField(max_length=50, primary_key=True, unique=True)
    image_sample = models.ForeignKey(Sample, on_delete=models.CASCADE, related_name='image_sample')
    image = models.ImageField(upload_to='images')
        
    def __str__(self):
        return str(self.image_ID)

class Label(models.Model):
        
    AI_sample = models.ForeignKey(Sample, on_delete=models.CASCADE, related_name='AI_sample')
    AI_defect = models.BooleanField()
  
    def __str__(self):
        return str(self.AI_sample)
    
class Manual(models.Model):
  
    manual_sample = models.ForeignKey(Sample, on_delete=models.CASCADE, related_name='manual_sample')
    manual_image = models.ForeignKey(Image, on_delete=models.CASCADE, to_field='image_ID')
    manual_defect = models.BooleanField()
    
    def __str__(self):
        return str(self.manual_sample)

Manual является ForeignKey к Sample & Image. и Image также является ForeignKey к Sample. Теперь я настроил поле image_ID для to_field в manual_image, чтобы я мог ссылаться на него, используя мое поле custome. Однако, когда я пытаюсь сделать то же самое для manual_sample и sample_ID, manual_sample превращается в null в следующее значение:

sample:
[
    {
        "id": 1,
        "sample_ID": "a000001",
        "AI_sample": [],
        "manual_sample": []
    }
]

manual_sample:
[
    {
        "id": 3,
        "manual_sample": null,
        "manual_image": "p01",
        "manual_defect": true
    },
    {
        "id": 5,
        "manual_sample": null,
        "manual_image": "p02",
        "manual_defect": false
    }
]

На данный момент моя конечная точка API выглядит следующим образом:

[
    {
        "id": 1,
        "sample_ID": "a000001",
        "AI_sample": [],
        "manual_sample": [
            {
                "id": 3,
                "manual_sample": 1,
                "manual_image": "p01",
                "manual_defect": true
            },
            {
                "id": 5,
                "manual_sample": 1,
                "manual_image": "p02",
                "manual_defect": false
            }
        ]
    }
]

Я хочу преобразовать manual_sample: 1 в manual_sample: a000001. Кто-нибудь знает, как это сделать? Очень признателен.

Вернуться на верх