Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 22, 2013 14:43:05

Mironoff
От:
Зарегистрирован: 2008-09-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

Здравствуйте!
Есть сторонний проект на PHP + MySQL, есть задача сделать административную часть на Django. Сделал inspectdb, но столкнулся с проблемой, в структуре одной из таблиц проекта, отсутствует поле ID (и это не ошибка, это поле действительно отсутствует, причем проект на PHP нормально с этим работает).

после inspectdb получил следующий код моделей:

class Products(models.Model):
    ...
    
class Charact(models.Model):
    ...
class ProdChar(models.Model):
    prod_id = models.ForeignKey(Products)
    char_id = models.ForeignKey(Charact)
    value = models.TextField()

В оригинальной таблице для ProdChar отсутствует поле id. И при любой попытке работы с этой таблицей вылазит ошибка “(1054, ”Unknown column ‘prod_char.id’ in ‘field list’“)”
Естественно, стандартная админка Django также ругается с этой же ошибкой.

Изменять структуру таблиц я не могу, а работать с этой таблицей очень нужно. Но как?



Офлайн

#2 Янв. 22, 2013 15:00:10

ad3w
От: Hua Hin, Thailand
Зарегистрирован: 2012-01-27
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

А почему нельзя изменять структуру таблиц?



Офлайн

#3 Янв. 22, 2013 15:00:47

ad3w
От: Hua Hin, Thailand
Зарегистрирован: 2012-01-27
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

Mironoff
Изменять структуру таблиц я не могу, а работать с этой таблицей очень нужно. Но как?
Добавить id через mysql.



Офлайн

#4 Янв. 22, 2013 15:04:03

Mironoff
От:
Зарегистрирован: 2008-09-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

К сожалению, добавить id нельзя. Это я попробовал в первую очередь. с внешней стороны (отображение) работает на PHP и при добавлении поля оно валится.



Офлайн

#5 Янв. 22, 2013 15:05:49

Mironoff
От:
Зарегистрирован: 2008-09-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

я бы конечно руки повыдергивал такому php'шнику, который так сделал, но…



Офлайн

#6 Янв. 22, 2013 15:37:19

ad3w
От: Hua Hin, Thailand
Зарегистрирован: 2012-01-27
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

Тогда добавьте

primary_key=True
на любое уникальное поле в модели.



Офлайн

#7 Янв. 22, 2013 15:43:27

Mironoff
От:
Зарегистрирован: 2008-09-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

тоже об этом думал. :) только вот нет там уникального поля.
уникальна только комбинация prod_id + char_id



Офлайн

#8 Янв. 22, 2013 18:28:22

ad3w
От: Hua Hin, Thailand
Зарегистрирован: 2012-01-27
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

в таблице модели отсутствует поле id

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version