Django / mySQL - AttributeError:'ForeignKey'对象没有属性'IntegerField'

时间:2016-08-01 21:54:21

标签: python mysql django

我有一个django项目,可以在windows上正常工作。我试图将它移动到ubuntu。运行python manage.py runserver 8000

时存在一些问题
  

文件“/home/zhaojf1/Web-Interaction-APP/fileUpload_app/models.py”,第151行,在机器中       number_pins = models.IntegerField(blank = True,null = True)

     

AttributeError:'ForeignKey'对象没有属性'IntegerField'

Machine表中的此列也不是外键项。

views.py中的代码:

140 class Machine(models.Model):
141     model = models.ForeignKey('Model', db_column='model', blank=True, null=True)
142     sn = models.CharField(max_length=50, blank=True)
143     mine_lon = models.CharField(max_length=50, blank=True)
144     mine_lat = models.CharField(max_length=50, blank=True)
145     location = models.CharField(max_length=50, blank=True)
146     total_hours = models.IntegerField(blank=True, null=True)
147     travel_hours = models.IntegerField(blank=True, null=True)
148     machine_id = models.IntegerField(primary_key=True)
149     models = models.ForeignKey('Model', db_column='models', blank=True, null=True)
150     # photo_set_num = models.IntegerField(blank=True, null=True)
151     number_pins = models.IntegerField(blank=True, null=True)
152     class Meta:
153         managed = False
154         db_table = 'machine'

我有一个mysql数据库,我使用

直接从mysql生成models.py.

$ python manage.py inspectdb > models.py

1 个答案:

答案 0 :(得分:4)

名为models的字段隐藏从Django导入的models。您可以重命名该字段:

other_name_for_models = models.ForeignKey('Model', db_column='models', blank=True, null=True)

或导入具有不同名称的模块

from django.db import models as django_models

class Machine(django_models.Model):
    models = django_models.ForeignKey('Model', db_column='model', blank=True, null=True)