Форум сайта python.su
чтобы не придумывать примеры взял любой с нета
Пример 1. Django
from django.db import models
class Priority(models.Model):
name = models.CharField(max_length=100)
class Tasks(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length=40)
priority = models.ForeignKey(Priority)
tasks = Tasks.objects.all() #запрос
{% for t in tasks %}
name: {{t.name}}
description: {{t.description}}
priority: **{{t.priority.name}}** {# запрос #}
{% endfor %}
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
def __init__(self, name, fullname, password):
self.name = name
self.fullname = fullname
self.password = password
def __repr__(self):
return "<User('%s','%s', '%s')>" % (self.name, self.fullname, self.password)
class Address(Base):
__tablename__ = 'addr'
id = Column(Integer, primary_key=True)
email_address = Column(String, nullable=False)
user_id = Column(Integer, ForeignKey('users.id'))
user = relation(User, backref=backref('addr'))
def __init__(self, email_address):
self.email_address = email_address
def __repr__(self):
return "<Address('%s')>" % self.email_address
users = session.query(User, Address).select_from(join(User, Address)).all()
Отредактировано (Ноя. 12, 2009 17:29:26)
Офлайн
Офлайн
Daevaornспасибо. действительно. недочитал документацию.
http://docs.djangoproject.com/en/dev/ref/models/querysets/#id4
Офлайн
только надо поаккуретней был с релейтом, а то можно и полбазы вытянуть)
Офлайн
slav0nicК счастью, методу можно задавать глубину и поля по которым тянуть
только надо поаккуретней был с релейтом, а то можно и полбазы вытянуть)
Офлайн