2016-03-18 23 views
1

Django Rest Auth with Django 1.9'u sistemde yeni kullanıcılara kaydetmek için kullanıyorum. Ve başka bir tabloya fazladan veri kaydetmek için bu işlemde bazı ekstra kodları çalıştırmam gerekiyor.Django Rest Aut - Kullanıcı Kaydı

Bunu yapmanın en iyi yolu bilen var mı?

cevap

2

CustomRegisterSerializer yazın ve settings.py dosyasını ekleyin.

REST_AUTH_REGISTER_SERIALIZERS = { 
     "REGISTER_SERIALIZER":"common_app.serializers.CustomRegisterSerializer" 
    } 

yeni oluşturulan serileştiriciden() kaydetme yöntemi Yaz ve bazı ekstra yürütülebilir kod koydu.
Kullanıcı modelinizde ek alanlar varsa, validate_field yöntemlerinizi yazabilirsiniz.

Başvuru için sen umarım bu yardımcı olur burada rest_auth RegistrationSerializerhttps://github.com/Tivix/django-rest-auth/blob/master/rest_auth/registration/serializers.py

kontrol edebilirsiniz.

Ancak diğer referanslar için yöntem kaydetmek 's serileştirici özel bir örnek eklemek istiyorum:

0

Ben @ ashish2py 'ın reply above ile kabul ediyorum.

Adımlar: settings.py dosyasında

  1. sınırının altında ekleyin. common_app olarak

    REST_AUTH_REGISTER_SERIALIZERS = { 
        "REGISTER_SERIALIZER":"common_app.serializers.CustomRegisterSerializer" 
    } 
    
  2. /serializer.py dosyası (geçersiz kılan kaydetme yöntemi) aşağıdaki gibi CustomRegisterSerializer sınıfını ekleyin (uygulamanızın adını varsayarak "common_app" dır).

    class CustomRegisterSerializer(RegisterSerializer): 
        def save(self, request): 
        user = super(CustomRegisterSerializer, self).save(request) 
        logger.debug("[GroupProfile-Manager] Manager user registration #{}: {}".format(user.id, user.email)) 
    
    
        ### YOUR CUSTOM LOGIC GOES HERE ### 
    
        group_prof_obj.join(user=user, role='manager') 
    
        return user