models.py
class User(models.Model)。
googleId = models.CharField(max_length=512, primary_key=True, default='')
imageURL = models.CharField(max_length=512, null=True)
userName = models.CharField(max_length=512, null=True)
firstName = models.CharField(max_length=512, null=True)
lastName = models.CharField(max_length=512, null=True)
#phoneNumberRegex = RegexValidator(regex=r"^ ?1?d{8,15}$")
phoneNumber = models.CharField(max_length=512, null=True)
email1 = models.CharField(max_length=512, blank=False)
email2 = models.CharField(max_length=512, blank=True)
bio = models.TextField(blank=True)
planId = models.ForeignKey('primal_user.Plans',
on_delete=models.CASCADE,
默認="Free")
password = models.CharField(max_length=512, null=True)
accountCreationDate = models.DateTimeField(auto_now_add=True)
coins = models.IntegerField(default=2)
assetsDownloaded = models.IntegerField(默認=0)
assetsPurchased = models.IntegerField(默認=0)
class Asset(models.Model)。
assetId = models.CharField(max_length=20, primary_key=True)
devUserId = models.ForeignKey(User, on_delete=models.CASCADE)
keywordId = models.ForeignKey(Tags, on_delete=models.CASCADE)
assetName = models.CharField(max_length=50, null=False)
description = models.TextField(blank=True)
features = models.TextField(blank=True)
uploadedDate = models.DateField(auto_now_add=True)
typeId = models.BooleanField(default=True)
paidStatus = models.BooleanField(default=False)
price = models.IntegerField(null=True)
size = models.FloatField(null=False)
downloadCount = models.BigIntegerField(null=True)
version = models.CharField(max_length=10)
serializer.py
class UserSerializer(serializers.ModelSerializer)。
class Meta:
model = User
fields = '__all__': model = User
class AssetSerializer(serializers.ModelSerializer)。
class Meta:
模型 = 資產
fields = '__all__': model = Asset
views.py
class UserAsset(APIView)。
def get(self,request,devUserId)。
try:
user = Asset.objects.filter(devUserId=devUserId).values()
serializer = AssetSerializer(user, many= True)
return Response(serializer.data)
except Asset.DoesNotExist。
raise Http404
我是Django的初學者,所以無法弄清楚問題出在哪里。我試圖尋找類似問題的解決方案,但無法解決這個問題。我得到了屬性錯誤,然后在AssetSerializer中輸入many=True后,它得到了解決,但現在我被這個KeyError卡住了。在試圖找出錯誤的時候,我注意到這個錯誤是在執行serializer.data的時候拋出的。謝謝你提供的任何可能的幫助。
uj5u.com熱心網友回復:
在你的代碼中,只需要在語法上做一個小小的改變。
取代:
user = Asset.objects.filter(devUserId=devUserId).values()
寫:
user = Asset.objects.filter(devUserId=devUserId)
這應該可以解決這個問題!
uj5u.com熱心網友回復:
嘗試用
user = Asset.objects.values('fieldnamehere').filter(devUserId=devUserId)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332349.html
標籤:
上一篇:如何在Django模型的M2M欄位上進行注釋,并獲得一個不同實體的串列?
下一篇:運算子不存在:字符變化=整數
