Django: отношения OnetoOne с использованием осветителей и uuids - PullRequest
1 голос
/ 28 марта 2020

У меня есть модель с именем user, а другая модель под названием Patient:

class Patient(Model):
    user = OneToOneField('users.User', on_delete=CASCADE, related_name="patient",
                          blank=True, null=True)

class User(Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)

Все миграции работают правильно, и сейчас я пытаюсь добавить некоторые данные в базу данных с помощью фиксаторов. Приборы пользователя работают хорошо, но кажется, что приборы пациента не обнаруживают UUID от пользователей:

django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table "patients_patient" violates foreign key constraint "patients_patient_user_id_b53513b7_fk_users_user_id"
 DETAIL:  Key (user_id)=(97179680-7042-11ea-bc55-0242ac130003) is not present in table "users_user".

Вот как выглядит мой прибор:

Прибор пациента

[{
    "model": "patients.patient",
    "id": 1,
    "fields": {
      "user": "97179680-7042-11ea-bc55-0242ac130003"
    }
  },
]

Пользовательское приспособление

[
    {
      "model": "users.User",
      "id": "97179680-7042-11ea-bc55-0242ac130003",
      }
    },
]

Как я могу это решить?

1 Ответ

0 голосов
/ 28 марта 2020

Хорошо, решение найдено! Вместо использования id просто используйте pk

...