Мне нужно показать некоторые данные в таблице, но эти данные не находятся в одной таблице, как показать эти данные в одной таблице в django

Views.py

def meterstatistics(request):
    varr = Meters_table.objects.all()
    vark = Meter_Data_table.objects.all()
    Lastkwh = Meter_Data_table.objects.last()
    Lasttime = Meter_Data_table.objects.last()
    d = {
        'Lastkwh': Lastkwh, 'Lasttime': Lasttime, 'vark': vark, 'varr': varr
    }
    return render(request, 'meterstatistics.html', d)

models.py

class Meters_table(models.Model):
    Meter_id = models.AutoField(unique=True, editable=False, primary_key=True)
    Account_id = models.CharField(max_length=128)
    Location_id = models.CharField(max_length=150, help_text="(ID of the locations table)")
    RR_No = models.CharField(max_length=128)
    Meter_type = models.CharField(max_length=150, help_text="(Industry,Residential & 
    Transformer)")
    Meter_make = models.CharField(max_length=150)
    Meter_model = models.CharField(max_length=150)
    Usage_type = models.CharField(
    max_length=150, help_text="(Industry,Residential & Transformer)")

    def __str__(self):
            return self.Usage_type

class Meter_Data_table(models.Model):
    id = models.AutoField(unique=True, editable=False, primary_key=True)
    Meter_id = models.CharField(max_length=150)
    IMEI_Number = models.CharField(max_length=150)
    KWH = models.CharField(max_length=128)
    KVAH = models.CharField(max_length=150)
    PF = models.CharField(max_length=150)
    BMD = models.CharField(max_length=128)
    Meter_time_stamp = models.DateTimeField(max_length=150)
    Receive_time_stamp = models.DateTimeField(max_length=150)

    def __str__(self):
            return self.Meter_id

HTML

                    <table id="table">
                    <thead class="thead-light bg-primary">
                        <tr>

                            <th scope="col">Meter_id</th>
                            <th scope="col">DCU IMEI</th>
                            <th scope="col">RR No</th>

                            <th scope="col">Last KWH</th>
                            <th scope="col">PF</th>
                            <th scope="col">Last Meter Time Stamp</th>
                            <th scope="col">Location</th>
                            <th scope="col">Frequency</th>
                            <th scope="col">Relay</th>
                            <th scope="col">Action</th>
                        </tr>
                    </thead>
                    <tbody>

                        <tr>

                            {% for i in vark %}
                            <td>{{i.Meter_id}}</td>
                            <td>{{i.IMEI_Number}}</td>

                            <td>{{i.RR_No}}</td>
                            
                            <td>{{i.KWH }}</td>
                            <td>{{i.PF}}</td>
                            <td>{{i.Meter_time_stamp }}</td>


                            <td></td>
                            <td></td>

                            <td><label class="switch">
                                    <input type="checkbox">
                                    <span class="slider round"></span>
                                </label></td>
                            <td>
                                <a href="{% url 'graph' %}"><i style="font-size: 30px;" class="fa fa-eye"
                                        aria-hidden="true"></i> </a>
                                <a href="metertableedit/{{i.Meter_id}}"><i style="font-size: 30px;"
                                        class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
                                <!-- <a href="delmetertable/{{i.Meter_id}}"><i style="font-size: 30px;"
                                        class="fa fa-trash" aria-hidden="true"></i></a> -->
                                <!-- </button> -->
                            </td>
                        </tr>
                    </tbody>
                    {% endfor %}

                    </tbody>
                </table>

мне нужно показать все данные на веб-странице, но эти данные не в одной таблице, а в разных таблицах, используя цикл for loop можно показать только одну таблицу введите описание изображения здесь и как присоединить эту таблицу И как показать данные в таблице веб-страницы без использования forloop внутри forloop.

Ты ....!

Я бы добавил ForeignKey из таблицы Meter в таблицу Meter_Data

class Meter_Data_table(models.Model):
    meter = models.ForeignKey(Meters_table, on_delete=models.CASCADE)

В файле views.py выберите все необходимые данные, используя "select_related" для включения данных счетчика в запрос к БД данных.

vark = Meter_Data_table.objects.select_related('meter').all().order_by('meter')

Таким образом, доступ к данным счетчика можно получить через ForeignKey, используя один запрос:

for i in vark:
    print(i.meter.Location_id)

В примере шаблона:

{{i.meter.Location_id}}

template.html

<tr>
    {% for i in vark %}
    <td>{{i.Meter_id}}</td>
    <td>{{i.IMEI_Number}}</td>

    <td>{{i.RR_No}}</td>
    
    <td>{{i.KWH }}</td>
    <td>{{i.PF}}</td>
    <td>{{i.Meter_time_stamp }}</td>

    <td>{{i.meter.Location_id}}</td>
    <td></td>

    <td><label class="switch">
            <input type="checkbox">
            <span class="slider round"></span>
        </label></td>
    <td>
        <a href="{% url 'graph' %}"><i style="font-size: 30px;" class="fa fa-eye"
                aria-hidden="true"></i> </a>
        <a href="metertableedit/{{i.Meter_id}}"><i style="font-size: 30px;"
                class="fa fa-pencil-square-o" aria-hidden="true"></i></a>
        <!-- <a href="delmetertable/{{i.Meter_id}}"><i style="font-size: 30px;"
                class="fa fa-trash" aria-hidden="true"></i></a> -->
        <!-- </button> -->
    </td>
</tr>
Вернуться на верх