遵循Django快速入门教程here,这一切都适用于我们的问题。
现在当我添加自定义APIView时,我开始遇到麻烦了。即我创建的自定义模型。
这是我的views.py
class ValuationDetails(APIView):
def get(self, request, format=None):
serializer = ValuationRequestSerializer(data=request.data)
if serializer.is_valid():
return Response('Valuation report', status=status.HTTP_201_CREATED)
这是我的ValuationRequestSerializer:
class ValuationRequestSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = ValuationRequest
fields = ('street', 'number', 'latitude', 'longitude')
这是我的ValuationRequest:
from django.db import models
class ValuationRequest(models.Model):
def __init__(self, street, number, latitude, longitude):
self.street = street
self.number = number
self.latitude = latitude
self.longitude = longitude
第一个例外是:
RuntimeError:模型类valuationservice.valproperty.model.val_models.ValuationRequest未在INSTALLED_APPS中的应用程序中声明显式的app_label并且不是。
然后我在setting.py INSTALLED_APPS中添加了一行
'valuationservice.valproperty.model.val_models'
之后的第二个例外是:
django.core.exceptions.AppRegistryNotReady:尚未加载应用。
我想有两个问题:
Python版本2.7.12
谢谢!
答案 0 :(得分:0)
您不应在模型类中定义__init__
方法。
(如果你这样做,你应该总是使用super()
来调用超类方法;但在这种情况下你根本不应该这样做。)