2
私は少し問題があり、それはどのように遅れてdjangoクエリをシリアル化できますか? 私は、このモデルを持っている:遅延を含むクエリセットでdjangoでシリアライズ
class Evento(models.Model):
nome=models.CharField(max_length=100)
descricao=models.CharField(max_length=200,null=True)
data_inicio= models.DateTimeField()
data_fim= models.DateTimeField()
preco=models.DecimalField(max_digits=6,decimal_places=2)
consumiveis= models.CharField(max_length=5)
dress_code= models.CharField(max_length=6)
guest_list=models.CharField(max_length=15)
local = models.ForeignKey(Local)
user= models.ManyToManyField(User,null=True,blank=True)
def __unicode__(self):
return unicode('%s %s'%(self.nome,self.descricao))
私のクエリはこれです:
eventos_totais = Evento.objects.defer("user").filter(data_inicio__gte=default_inicio,
data_fim__lte=default_fim)
それは私が考える(クエリが本当にフィールドのユーザーを延期していた場合にどのように私は確認することができますか?)私が行うときに正常に動作します:
json_serializer = serializers.get_serializer("json")()
eventos_totais = json_serializer.serialize(eventos_totais,
ensure_ascii=False,
use_natural_keys=True)
それは常にユーザーとローカルのための自然キーをfolow、私はので、地元のフィールドのこのクエリの自然キーを必要としています。しかし、フィールドユーザーは必要ありません。お使いのモデルのフィールドのサブセットをシリアライズする
だから、私は、一つの解決策を持っていますeventos_totais = evento.objects.defer( "user")。フィルタ(data_inicio__gte = default_inicio、data_fim__lte = default_fim)とそれらのシリアライザ:eventos_totais = json_serializer.serialize(eventos_totais、fields =( 'nome' 、 'descricao'、 'data_inicio'、 'data_fim'、 'preco'、 'consumive' '、' dress_code '、' guest_list '、' local ')、ensure_ascii = False、use_natural_keys = True) もっと良い解決策があれば教えてください。 –