下面的RESTful API失败了,出错了,我不知道那里发生了什么。
这里是序列化器、模型和url模式的构造。
serializers.py
class PatientDataSerializer(serializers.ModelSerializer):
class Meta:
model = PatientData
fields = (
'data_id',
'data_type',
'session_id',
'user_id',
'start_time',
'time_elapsed',
'data_file_url'
)
lookup_field='user_id'models.py
class PatientData(models.Model):
class Meta:
managed = False
db_table = "patient_data_list"
data_id = models.PositiveIntegerField(db_column="data_id", primary_key=True)
data_type = models.CharField(db_column="patient_data_type", max_length=255)
session_id = models.PositiveIntegerField(db_column="session_id")
user_id = models.PositiveIntegerField(db_column="user_id")
start_time = models.DateTimeField(db_column="start_time")
time_elapsed = models.IntegerField(db_column="time_elapsed")
data_file_url = models.IntegerField(db_column="data_file_url") urls.py
url(r'^patients/data/(?P<user_id>[0-9]+)/$', restapiviews.PatientDataListView.as_view()),restapiviews.py
class PatientDataListView(generics.ListAPIView):
queryset = PatientData.objects.all()
serializer_class = PatientDataSerializer
lookup_field='user_id'当我试图访问本地主机时会出现错误:8080/api/patient/data/1/ url
发布于 2016-02-08 13:13:20
此错误意味着您正在尝试将空的string或unicode转换为int。
我能够在本地运行您的代码,我怀疑这是因为在您的数据库中,应该是整数的字段中有空值。DRF的to_representation方法需要对int进行简单的转换,并且不检查空值。请以这种方式检查您的数据,如果这不是点粘贴您的整个跟踪错误。
https://stackoverflow.com/questions/35270436
复制相似问题