Как я могу получить значения полей Taggable отдельно в Django?

  • Прежде всего, я беру один вход от пользователя (например: Симптом = лихорадка).
  • Симптомы хранятся в базе данных с теговым полем, и у меня есть еще одно теговое поле, которое называется медицина.
  • Поле Taggable не повторяется. Как я могу сравнить пользовательский ввод со значением базы данных.
  • Если одно или несколько "заболеваний" имеют симптом (лихорадка), тогда я хочу, чтобы все другие симптомы (сохраненные с лихорадкой) имели название заболевания.
  • пример (база данных болезней):

    Болезнь_ | Симптомы медицина......(другие области)

    денге__ | Лихорадка, головная боль, боль в мышцах, боль в суставах, боль в костях, боль за глазами |...

    грипп ______ | Лихорадка, мышечные боли, головная боль, сухой кашель, усталость, слабость, озноб, потливость |...

    ветряная оспа | Лихорадка, потеря аппетита, головная боль, усталость |...

  • models.py

    class Disease(models.Model):
         did = models.AutoField(verbose_name='Disease Id', primary_key=True,auto_created=True)
         dName = models.CharField(max_length=100,unique=True)
         symptoms = TaggableManager(verbose_name='symptoms list', through=TaggedSymptoms)                
         symptoms.rel.related_name = "+"
    
         medicine = TaggableManager(verbose_name='medicine list',through=TaggedMedicine)
         medicine.rel.related_name = "+"
    
  • views.py

    def patfirst(request):
       if request.method == "GET":
          return render(request, 'personal/patfirst.html')
    
       if request.POST.get('Next'):
          newSymp = request.POST.get('newSymptom')    
          args = {'newSymp' : newSymp,'didata':didata}     #,'tagdata':tagdata}
          return render(request, 'personal/patfirst.html',args)
    
  • patfirst.html

    <form method="post" action="#">
         {% csrf_token %}
         Enter Symptom: <input type="text" name="newSymptom"/><br><br>
         <input type="submit" value="Next" name="Next"/>
         <input type="submit" value="None of these" name="NoneOfThese"/>
    </form>
    <div>
        {% for object in didata %}
        <ul>
            {% for tag in object.symptoms.all %}
              {% comment %} here i got all the symptoms stored in database {% endcomment %}
                {{ tag.name }}
            {% endfor %}
        </ul>
      {% endfor %}
    </div>
    

0 ответов

Другие вопросы по тегам