You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.2 KiB
51 lines
1.2 KiB
from rest_framework import serializers
|
|
from .models import Ad, AdEvaluation, NotificationLog
|
|
|
|
class AdSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Ad
|
|
fields = [
|
|
'id',
|
|
'divar_token',
|
|
'title',
|
|
'description',
|
|
'price',
|
|
'category',
|
|
'images',
|
|
'url',
|
|
'created_at',
|
|
'published_at',
|
|
]
|
|
read_only_fields = ['id', 'created_at']
|
|
|
|
|
|
class AdEvaluationSerializer(serializers.ModelSerializer):
|
|
ad = AdSerializer(read_only=True)
|
|
|
|
class Meta:
|
|
model = AdEvaluation
|
|
fields = [
|
|
'id',
|
|
'crawl_task',
|
|
'ad',
|
|
'is_flagged',
|
|
'reason',
|
|
'confidence',
|
|
'extracted_fields',
|
|
'evaluated_at',
|
|
]
|
|
read_only_fields = ['id', 'evaluated_at']
|
|
|
|
|
|
class NotificationLogSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = NotificationLog
|
|
fields = [
|
|
'id',
|
|
'evaluation',
|
|
'channel_id',
|
|
'sent_at',
|
|
'status',
|
|
'error_message',
|
|
]
|
|
read_only_fields = ['id', 'sent_at']
|