Новое в MYSQL Я попытался создать ручной доступ к внешнему ключу к таблицам существительных, потому что Django не изменил бы его.Проблема с MYSQL 1025
python2 manage.py sqlall <appname>
показал, что я ожидал, но
python2 manage.py syncdb
ничего к таблицам не делать. Вот модели:
class A(models.Model):
A_field1 = models.IntegerField(unique=True) # is not the primary key
A_field2 = models.CharField(max_length=200)
...
A_field3 = models.CharField(max_length=30)
# this method is to get the good name in the admin interface
def __unicode__(self):
return self.name
class B(models.Model):
B_field1 = models.FloatField()
...
B_field2 = models.ForeignKey(A, to_field='A_field1')
Но, видимо, я перепутать операцию, так как она не находит ссылочное поле при запуске сервера, поэтому я попытался удалить внешний ключ, и я получил эту странную ошибку:
mysql> ALTER TABLE A DROP COLUMN A_field1;
ERROR 1025 (HY000): Error on rename of './website/#sql-41e_740' to
'./website/<tablename>' (errno: 150)
Кроме того, я попытался
mysql> ALTER TABLE B DROP COLUMN B_field2;
Но есть довольно много ту же ошибку, как выше
Любые идеи?
Здесь столы:
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| A_field1 | int(11) | NO | PRI | NULL | auto_increment |
| A_field2 | varchar(200) | NO | | NULL | |
| A_field3 | varchar(30) | NO | | NULL | |
....
+--------------+--------------+------+-----+---------+----------------+
+-----------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| B_field1 | double | NO | | NULL | |
...
| B_field2 | int(11) | NO | MUL | NULL | |
+-----------------+----------+------+-----+---------+----------------+
Это не проблема приложения, это структура данных в проблеме с БД. Итак, предоставьте свою полную структуру таблицы. –