Queryset отличный API () не работает?

Я проделал эту работу с ajax (с базой данных), поэтому я отправил вам код, надеюсь, он вам поможет

<input type="radio" name="radiobtn" value = "Yes" class="rdio_btn" >Yes
<input type="radio" name="radiobtn" value = "No" class="rdio_btn" >No

<select id="reasondd"  name="R" onChange="change_reason()"  width="40" >
<option id="mySelect" value="" selected="selected" >Select</option> 

<script>
$(".rdio_btn").on('click' , function(){
     var data = $(this).attr('value');
     var url = /*your url*/;
     var type = /* get or post */;
     $.ajax({
          data:{'data':data , '_token': "{{csrf_field()}}" },
          type:type,
          url:url,
          dataType:'JSON',
          success:function(data){
             $.each(data, function(d)){
                 $("#reasondd").append('<option value="'+data[d].id+'" selected="selected" >'+data[d].name+'</option>');
                 });
             },error:function(e){
                    console.log('error is here');
             }
          )};
     });
});
</script>

и ваш контроллер должен быть таким

public function functionName(Request $request){
      if($request['data'] == 'yes'{
           return response(/*Your data you wanna send back if user selected yes button in your radio buttons*/);
      }else{
          return response(/*Your data you wanna send back if user selected no button in your radio buttons*/);
       }
}
[114 Я надеюсь, что вы можете использовать его

6
задан Serjik 19 December 2015 в 11:36
поделиться

2 ответа

Вы найдете объяснение в документации для .distinct().

Я денормализовал бы путем добавления a modified_date поле к Topic модель и обновление его каждый раз, когда сообщение сохранено или удалено.

3
ответ дан 10 December 2019 в 00:45
поделиться

Вам не нужно отличный () здесь, в чем Вы нуждаетесь, агрегирование. Этот запрос сделает то, что Вы хотите:

from django.db.models import Max
Topic.objects.annotate(Max('message__pub_date')).order_by('-message__pub_date__max')

Хотя, если это - производственный код, Вы, вероятно, захотите последовать совету akaihola и денормализовать "last_message_posted" на тематическую модель непосредственно.

Кроме того, существует ошибка в Вашем значении по умолчанию для сообщения pub_date. Поскольку у Вас есть он теперь, каждый раз, когда Вы, первый показ, сервер и этот код загружаются, datetime.now () будет выполняться однажды и то значение, будете использоваться в качестве pub_date для всех сообщений. Используйте это вместо этого для передачи самого вызываемого, таким образом, это не называют, пока каждое сообщение не создается:

pub_date = models.DateTimeField(default=datetime.now)
7
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: