Модель Django не определена

Я работаю над некоторыми представлениями и использую модель уже около недели, и до этого момента не было никаких проблем: Я ничего не менял, только добавил новое поле в модель, и теперь myModel.objects.create() выдает мне ошибку "имя не определено". У меня есть импортированная модель и, как я уже сказал, я работал над этим неделю и создал несколько моделей, используя точно такой же код.

модели:

class Prescription(models.Model):
    prescription_id = models.CharField(max_length=26, default=prescription_id, editable=False, unique=True) # THIS IS THE FIELD I ADDED BEFORE HAVING THIS ERROR
    appointment = models.ForeignKey('booking.Appointment', on_delete=models.SET_NULL, null=True, blank=True)
    doctor = models.ForeignKey('core.Doctor', on_delete=models.CASCADE)
    patient = models.ForeignKey('core.Patient', on_delete=models.CASCADE)
    overriden_date = models.DateField(null=True, blank=True)
    control = models.BooleanField(default=False)
    control_date = models.DateField(null=True, blank=True)
    send_email = models.BooleanField(default=False)
    posted = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

    class Meta:
        verbose_name = "Ordonnance"
        verbose_name_plural = "Ordonnances"

    def __str__(self):
        return str(self.id)


class PrescriptionElement(models.Model):
    prescription = models.ForeignKey('Prescription', on_delete=models.CASCADE)
    drug = models.ForeignKey(Drug, on_delete=models.CASCADE, null=True)
    custom = models.CharField("Elément", max_length=25, null=True, blank=True)
    dosage = models.CharField(max_length=45, null=True, blank=True)
    posologie = models.CharField(max_length=256, null=True, blank=True)
    duration = models.CharField("Durée", max_length=15, null=True, blank=True)

просмотров:

PrescriptionElement.objects.create(prescription=prescription, drug=listemedicament, custom=medicament, dosage=dosage, posologie=posologie, duration=duree)
<
name 'PrescriptionElement' is not defined

Я устранил проблему, удалив любые циркулярные связи между несколькими файлами. Циркулярные импорты - единственная проблема, вызывающая эту проблему. Значение по умолчанию prescription_id было определено в файле utils.py, а в utils.py есть некоторые функции, наследующие модели из файла models.py. Удаление этой круговой связи устраняет эту проблему.

Кроме того, использование этого формата для определения ForeignKeys ('booking.Appointment') является лучшим выбором, чтобы избежать импорта.

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