Wednesday, 25 July 2018

How to count no of child create on parent model??

Step 1 : make child mode with apply Foreign Key on child model with parent model
ex:
first model
class Poll(models.Model):
    poll_id = models.AutoField(primary_key=True)

second model
class Questions(models.Model):
    poll = models.ForeignKey(Poll, models.DO_NOTHING, db_column='poll', blank=True, null=True, related_name="poll")

In poll template:

{{ p.poll.count }}

Friday, 20 July 2018

How to call api in client side with filter

<button type="submit" onclick="UserAction()">Search</button>


unction UserAction() {
           
           $.ajax({
               type: 'GET',
               url: 'http://127.0.0.1:8000/api/project/?industry_sector=Automobiles&location=State',
               success: function(res){
                       console.log(res)
                       $.ajaxSetup({
                          headers: {
                            "token": res.token
                          }
                       });
               },
               error: function(error) {
                   callbackErr(error,self)
               }
           })
      }

Thursday, 12 July 2018

How to add another serializer in one serializer

class QuestionListSerializer(serializers.ModelSerializer):
    answer_list = AnswersSerializer(many=True, read_only=False)

    class Meta:
        model = Questions
        fields = ['id', 'q_type', 'question', 'other', 'random', 'skip', 'answer_list']

custom django admin user api

class UserSerializer(serializers.ModelSerializer):

    contact = serializers.CharField(source='userdetails.contact')
    project_code = serializers.CharField(source='userdetails.project_code')
    profile_pic = serializers.FileField(source='userdetails.profile_pic', required=False)
    address = serializers.CharField(source='userdetails.address', required=False)
    video = serializers.FileField(source='userdetails.video', required=False)
    # gender = serializers.CharField(source='userdetails.gender', required=False)
    gender = serializers.ChoiceField(source='userdetails.gender',
    choices=['Male', 'Female']
)
    language = serializers.CharField(source='userdetails.language', required=False)
    dob = serializers.DateField(source='userdetails.dob', required=False)
    education = serializers.CharField(source='userdetails.education', required=False)
    language = serializers.CharField(source='userdetails.language', required=False)
    country = serializers.CharField(source='userdetails.country', required=False)
    profession = serializers.CharField(source='userdetails.profession', required=False)
    city = serializers.CharField(source='userdetails.city', required=False)

    class Meta:
        model = User
        fields = ('id', 'username', 'first_name', 'last_name', 'email', 'city', 'contact', 'project_code', 'profile_pic', 'address',
            'video', 'gender', 'language', 'dob', 'education', 'language', 'country', 'profession')

    def create(self, validated_data):
        profile_data = validated_data.pop('userdetails')
        user = User(
            email=validated_data['email'],
            username =validated_data['username'],
            first_name =validated_data['first_name'],
            last_name =validated_data['last_name'],
        )
        user.save()
        print user.id
        print user.username
        print user.first_name
        print user.last_name
        print user.email
       
        project_code = profile_data.get('project_code')
        contact = profile_data.get('contact')
        address = profile_data.get('address')
        dob = profile_data.get('dob')
        profile_pic = profile_data.get('profile_pic')
        video = profile_data.get('video')
        age = profile_data.get('age')
        education = profile_data.get('education')
        city = profile_data.get('city')
        profession = profile_data.get('profession')
        country = profile_data.get('country')
        gender = profile_data.get('gender')
        language = profile_data.get('language')
        domain = 'mobile'
        user.id = user.id
        UserDetails.objects.create(address=address, contact=contact, user_id=user.id, project_code=project_code,dob=dob, profile_pic=profile_pic, video=video, age=age
                              , education=education, city=city, profession=profession, country=country, gender=gender,language=language , domain=domain)
        return user

How to set session in django

request.session['form_data'] = form_data

How to display error or success in django

from django.contrib import messages

messages.success(request, "login success.")
or
messages.warning(request, "Please enter Valid Username and Password.")


write below code in template

{% if messages %}
                    {% for message in messages %}
                        <div class="alert alert-success">
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                <strong> {{ message|escape }}</strong>
                            </div>
                    {% endfor %}
                {% endif %}

Django rest api - filter

views.py from django_filters.rest_framework import DjangoFilterBackend class PollList(viewsets.ModelViewSet):     queryset = X.objects...