Using related_name in Django Template

JHS99

I have two models: Usecase and Usecase_progress. I'm creating a page where I can see a list of all the use cases with their information + the usecase progress for each use case.

Usecase model:

class Usecase(models.Model):
usecase_id = models.CharField(primary_key=True, max_length=20)
usecase_name = models.CharField(max_length=256)
user_email = models.ForeignKey('User', models.DO_NOTHING, db_column='user_email')
usecase_type = models.ForeignKey('UsecaseType', models.DO_NOTHING)
kpi = models.ForeignKey(Kpi, models.DO_NOTHING)
business_owner = models.ForeignKey(BusinessOwner, models.DO_NOTHING)
usecase_description = models.CharField(max_length=5000)
usecase_creation_date = models.DateField()
estimated_date = models.DateField()
usecase_priority = models.CharField(max_length=100)
usecase_git = models.CharField(max_length=512, blank=True, null=True)
current_phase = models.ForeignKey(Phase, models.DO_NOTHING)
delivery_date = models.DateField()
class Meta:
    managed = False
    db_table = 'usecase'

usecase progress model:

class UsecaseProgress(models.Model):
usecase_progress_date = models.DateTimeField(primary_key=True)
usecase = models.ForeignKey(Usecase, models.DO_NOTHING, related_name='usecaseids')
phase = models.ForeignKey(Phase, models.DO_NOTHING)
pipeline = models.ForeignKey(Pipeline, models.DO_NOTHING)
usecase_progress_value = models.IntegerField()
estimated_date_delivery = models.DateField(db_column='Estimated_Date_Delivery') 

My views.py:

@user_login_required
def view_usecase(request):
     usecase_details = Usecase.objects.all()
     context = {'usecase_details': usecase_details}
     return render(request, 'ViewUsecase.html', context)

My template:

{% extends 'EmpDashboard.html' %}

{% block body %}

{% if usecase_details is not none and usecase_details %}
<div class="col-12 mb-4">
    {% for result in usecase_details %}
    <div class="card border-light shadow-sm components-section  d-flex ">
        <div class="card-body  d-flex ">
            <div class="row mb-4">                 
                <div class="card-body">
                    <div class="row col-12">                            
                    <form>
                        <div class="mb-4">
                            <h6 class="fs-5 fw-bold mb-0 border-bottom pb-3">{{result.usecase_id}} - {{result.usecase_name}}</h6>
                            <div class="mb-0 mt-2">{{result.usecase_description}}</div>                      
                        </div>
                        <div class="form-row mb-4">
                            <div class="col-lg-4 mr-f">
                                <label class="h6" for="exampleFormControlTextarea1">Business Owner:</label>
                                    <div class="mb-0">{{result.business_owner.business_owner_name}}</div>                      
                                </div>
                          <div class="col-lg-4 mr-f">
                            <label class="h6" for="exampleFormControlTextarea1">Owner:</label>
                                <div class="mb-0">{{result.user_email}}</div>                      
                            </div>
                        </div>
                        <div class="form-row mb-4">
                            <div class="col-lg-4 mr-f">
                              <label class="h6" for="exampleFormControlTextarea1">Usecase type:</label>
                                  <div class="mb-0">{{result.usecase_type.usecase_type_name}}</div>                      
                              </div>
                              {% for progress in usecase.usecaseids.all %}
                              <div class="col-lg-4 mr-f">
                              <label class="h6" for="exampleFormControlTextarea1">Progress:</label>
                                  <div class="mb-0">{{progress.usecase_progress_date}}</div>     
                              </div>
                              {% endfor %}
                          </div>
                          <div class="form-row mb-4">
                            <div class="col-lg-4 mr-f">
                              <label class="h6" for="exampleFormControlTextarea1">Usecase creation date:</label>
                                  <div class="mb-0">{{result.usecase_creation_date}}</div>                      
                              </div>
                            <div class="col-lg-4 mr-f">
                              <label class="h6" for="exampleFormControlTextarea1">Estimated date:</label>
                                  <div class="mb-0">{{result.estimated_date}}</div>                      
                              </div>
                          </div>
                          
                      </form>
                  </div>
                </div>
            </div>
        </div>
    </div>
    <br>
    {% endfor %}
</div>
{% endif %}{% endblock %}

Anyway I'm not able to show see the progress date per usecase it's showing blank row.

Lucas Grugru

Your loop for displaying progress is not good. your variable is named result, not usecase:

{% for progress in result.usecaseids.all %}
    <div class="col-lg-4 mr-f">
        <label class="h6" for="exampleFormControlTextarea1">Progress:</label>
        <div class="mb-0">{{progress.usecase_progress_date}}</div>     
    </div>
{% endfor %}

You can add data prefetching in your view for making SQL join for retrieving all data. If not, Django will make a query for each row.

@user_login_required
def view_usecase(request):
     usecase_details = Usecase.objects.all()
     usecase_details = usecase_details.prefetch_related("usecaseids")
     context = {'usecase_details': usecase_details}
     return render(request, 'ViewUsecase.html', context)

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Using related_name in Django

Django related_name not querying the data in template

django - using of related_name in ManyToMany and in ForeignKey

django get count of 'children' of related_name field (and do this in template?)

Are queries using related_name more performant in Django?

Django using related_name in self.object

Using related_name to call objects attributes in django templates

Django Prefetch related_name not visible when using multiple lookup

How to order a queryset using related_name in django

django: related_name of self related ForeignKey field not working | get opposite direction of self reference in template

Django related_name not found

Django: Adding 2 foreign keys referencing the same table using related_name causing NameError - value given to related name is not defined

Access child model instances in parent model using related_name attribute in Django

related_name parameter name conflict in django?

How to customize related_name argument in Django

Django: ForeignKey vs related_name

Django related_name default syntax

how to use django related_name

Django filter related_name subset in templates

What is `related_name` used for in Django?

How to test related_name in django model?

Filtering related_name field, in django

Django related_name with _set function

Django query does not select related_name

Group by with related_name relation using Prefetch

what is related_name and related_query_name in django?

How to get object's class name by related_name in Django?

Django Model related_name through Multiple Models

Retrieving Django QuerySet matching field in reverse query (related_name)

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  3. 3

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  4. 4

    pump.io port in URL

  5. 5

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    Do Idle Snowflake Connections Use Cloud Services Credits?

  9. 9

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

  10. 10

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  11. 11

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  12. 12

    Generate random UUIDv4 with Elm

  13. 13

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  14. 14

    Is it possible to Redo commits removed by GitHub Desktop's Undo on a Mac?

  15. 15

    flutter: dropdown item programmatically unselect problem

  16. 16

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  17. 17

    EXCEL: Find sum of values in one column with criteria from other column

  18. 18

    Pandas - check if dataframe has negative value in any column

  19. 19

    How to use merge windows unallocated space into Ubuntu using GParted?

  20. 20

    Make a B+ Tree concurrent thread safe

  21. 21

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

HotTag

Archive