Я хочу сделать несколько соединений с использованием tables2 в ДжангоДжанго tables2 Регистрация
--- models.py (abbrev.)
from django.db import models
import django_tables2 as tables2
class Architecture (models.Model):
architecture_id = models.AutoField(primary_key=True)
architecture_name = models.CharField("Architecture",max_length=20)
architecture_comment =models.CharField("Comments",null=True,blank=True,max_length=200)
class Server (models.Model):
server_id = models.AutoField(primary_key=True)
server_name = models.CharField("Server Name",max_length=200,unique=True)
server_ip = models.IPAddressField("Server IP")
server_serial = models.CharField("Serial No.",max_length=25,null=True,blank=True)
server_mem = models.PositiveIntegerField("Mem (MB)",null=True,blank=True)
server_architecture = models.ForeignKey(Architecture)
class ServersTable(tables2.Table):
architecture = tables2.Column(accessor='architecture.architecture_name')
--- views.py
from django.http import HttpResponse
from servers.models import Server
from django.shortcuts import render
def index(request):
return render(request, "index.html", {"server": Server.objects.all()})
--- index.html
{% load render_table from django_tables2 %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="http://myhost/django_tables2/themes/paleblue/css/screen.css" />
<title>myhost</title>
</head>
<body>
{% render_table server %}
</body>
Результаты:
в колонке Архитектура она показывает .... "Архитектура объекта" для каждый экземпляр, где должно быть имя_источника
Как я могу заставить «JOINS» работать? Спасибо.
Для получения архитектуры модели вернуть имя архитектуры добавить что-то вроде 'четкости __unicode __ (сам): \ п \ т Самовозврата .architecture_name' в классе архитектуры. Я думаю, что это должно сработать. –
Это замечательно! Это работает для одного столбца. ... теперь, как мне вернуть более одного столбца? –
Помните, что вы можете вернуть любую форматированную строку. Поэтому давайте скажем, что вы хотите «вернуть»% s,% s «% (self.architecture_name, self.architecture_comment)». Я думаю, вы поняли. Если не дайте мне знать. –