Джанго Два внешних ключа - PullRequest
       0

Джанго Два внешних ключа

1 голос
/ 10 октября 2011

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

class cv(models.Model):
    user = models.ForeignKey(User, unique=True)
    cv_d= models.TextField(max_length=1100)
    ...
class cvv(models.Model):
    user = models.ForeignKey(User)    
    cv= models.ForeignKey(cv)    
    date = models.DateTimeField(auto_now=True)

В моем представлении я пытаюсь вставить значение в cvv:

...
obj = cv.objects.get(pk=id,active=True)
add=cvv(user=request.user, cv=obj)    
add.save()

Но я получаю следующую ошибку: (1452, 'Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено

Как мне вставить внешний ключ тезис 2 на мою модель?

1 Ответ

2 голосов
/ 10 октября 2011

Добро пожаловать по одной из многих причин, почему вы не должны использовать MySQL.Чаще всего это происходит, когда у вас есть одна таблица MyISAM и одна таблица InnoDB.Поскольку myISAM не поддерживает ограничения FK, все адские разрывы освобождаются, когда django создает FK между таблицами.

Исправление состоит в том, чтобы сделать обе таблицы InnoDB или MyISAM и не смешивать их.Или даже лучше отказаться от плохой RDMS для чего-то не MySQL.

...