تگ / پردازش زبان طبیعی
-
نصب و راه اندازی FreeLing (پردازش زبان طبیعی)
زمان مطالعه: 2 دقیقه با نام خدا و سلام، در این لینک می تونید اطلاعاتی در مورد FreeLing بدست بیارید. Freeling یک محموعه ابزار آنالیز زبان متن باز به شمار میاد که توسط لوییس پادرو ساخته شد…
می 25, 2017 -
آشنایی با پلتفرم NLTK در پایتون
زمان مطالعه: 3 دقیقه با نام خدا و سلام با توجه به موضوع پایانه نامه دوره ارشدم که در زمینه پردازش زبان طبیعی هست، خوشبختانه منجر شد که در قدم اول با زبان python آشنا بشم…
مارس 3, 2017
..تبلیغات..
دستهها
- IDE (13)
- Android studio (9)
- pycharm (1)
- Visual Studio (3)
- sysadmin (15)
- ادمین سیستم – SysAdmin (27)
- برنامه نویسی (137)
- پایگاه داده (23)
- پردازش زبان طبیعی (3)
- دستهبندی نشده (3)
- سبک زندگی (24)
- سیستم عامل (50)
- Windows server 2012 (7)
- لینوکس (39)
- ubuntu (25)
- آموزش های مقدماتی (1)
- ویندوز (3)
- win 10 (3)
- مایکروسافت اکسل (1)
- محیط لینوکس (1)
- مهندسی نرم افزار (17)
- مستند سازی (2)
- وردپرس (1)
پرسش و پاسخ تصادفی
زمان مطالعه: < 1 دقیقهحل ارور Invalid data. Expected a dictionary, but got int.
خب مشکل کجاست؟ شما یه سریالایزر دارید، که مدل استفاده شده داخل سریالایزر شما یه کلید خارجی داره، بهنگام آپدیت کردن احتمالا به این مشکل برخوردید،
قدم اول احتمالا سریالایزر رو به صورت nested ساخته اید و در نتیجه بهنگام آپدیت کردن، فقط id اون کلید خارجی رو قبول نمیکنه و انتظار یه nested dictionary داره، راه حل خیلی ساده است، فقط کافیست یه سریالایزر جدید بسازید و serializers ها رو به دو دسته read و write تبدیل کنید تا به این مشکلات برنخورید.
به مثال زیر توجه کنید:
class HuntingDetailViewSerializer(serializers.ModelSerializer): species = HuntingSpeciesSerializer(many=True, read_only=True) technique = HuntingTechniqueTagSerializer() class Meta: model = HuntListing exclude = ('owner',)
شما سریالایزر بالا را دارید، داخل view نیز کد زیر را دارید:
listing_id = request.data.get('listing_id') listing = HuntListing.objects.get(id=listing_id) serializer = HuntingDetailViewSerializer(listing, data=request.data, partial=True) if serializer.is_valid(): serializer.save()
داده نمونه تون هم به صورت زیر هست :
{"listing_id":9, "technique":1, ....}
ولی ارور دارید به صورت زیر :
Invalid data. Expected a dictionary, but got int.
حل ارور:
فقط کافیست همان طور که گفته شد، serializer های readو write رو از هم جدا کنید، پس سریالایزر جدید داریم :
class HuntingDetailViewSerializer(serializers.ModelSerializer): species = HuntingSpeciesSerializer(many=True, read_only=True) class Meta: model = HuntListing exclude = ('owner',)
همان طور که ملاحظه کردید، خط زیر را حذف کردیم.
technique = HuntingTechniqueTagSerializer()
برچسبها
یا هر چقدر دوست داری از فرم زیر منو حمابت کن: