我沒有通過下表的Django創建舊的數據庫:OperationalError:(1054「在‘字段列表’未知列‘time_table.id’」)
$ describe `time`;
+---------------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+-------------------+-----------------------------+
| data | varchar(16) | NO | MUL | NULL | |
| source | varchar(255) | NO | | NULL | |
| source_origin | varchar(128) | YES | | NULL | |
| sys_updated | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+---------------+--------------+------+-----+-------------------+-----------------------------+
我得到的這個模型表由inspectdb
:
class Time(models.Model):
data = models.ForeignKey('a_table', models.DO_NOTHING)
source = models.CharField(max_length=255)
source_origin = models.CharField(max_length=128, blank=True, null=True)
sys_updated = models.DateTimeField()
class Meta:
managed = False
db_table = 'time'
unique_together = (('data', 'source_origin'),)
一個有一個簡單的串行:
class TimeSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Time
fields = ('data', 'source', 'source_origin', 'sys_updated')
和簡單view
:
class TimeList(generics.ListAPIView):
""" Retrieves all data. """
queryset = Time.objects.all()
serializer_class = TimeSerializer
當我嘗試訪問此,讓我們說,localhost:8765/time/
,我發現了以下錯誤:
OperationalError: (1054, "Unknown column 'time.id' in 'field list'")
我的問題: 它是更多鈔票有一個表到沒有身份證的Django休息? 我不想在我的桌子上添加一個ID。
我在野外發現了一些answers,但它沒有幫助。
正如Ivan所說,Django要求每個模型都有一個主鍵。 [這個答案](http://stackoverflow.com/a/33085716/113962)建議你可以通過使用'values()'來解決它。但是,我不知道是否可以將其餘框架序列化程序更改爲使用'values()'而不是常規的查詢集。 – Alasdair