Найти - Пользователи
Полная версия: Вопрос по One2One модель.
Начало » Django » Вопрос по One2One модель.
1
aliens
Здравствуйте. Вот начал потихоньку изучать Джангу. В туториале впринципе все понятно. Решил напсиать аналогичное, но с использованием модели One2One.

вот вся модель:

# -*- coding: utf-8 -*-
from django.db import models
class Auditory(models.Model):
name = models.CharField(max_length=300)
num = models.IntegerField()
def __unicode__(self):
return self.name
class Admin:
pass
class AdvAud(models.Model):
auditory = models.OneToOneField(Auditory)
info = models.CharField(max_length=300)
max_student = models.IntegerField()
def __unicode__(self):
return self.auditory


Собственно получить хочу вот что:
Имеется объект - Аудитория, с обязательными параметрами: name и num (имя и номер). Также может иметь и необязательные поля из AdvAud. ( info и max_student).
Такая модель работает, но подскажите, как к определенному Auditory добавлять параметры из AdvAud ? Нашел только 1 способ, это создавать объект AdvAud, в нем выбирать auditory_id, тогда он будет привязан. Можно ли по другому? так, как сделано в туториале Джанги?

И вторйо вопрос, как это все отобразить в админке, но не по отдельностям, а чтобы поля AdvAud были доступны из изменения/добавления Auditory?
qewerty
Вообще нифига не понятно. Зачем вообще две модели делать?

aliens
Такая модель работает, но подскажите, как к определенному Auditory добавлять параметры из AdvAud ?
Добавлять? По auditory.advaud обращался? Типа:

try:
adv = auditory.advaud
except AdvAud.DoesNotExist:
… do smth …

Может AutoOneToOneField подойдёт? - http://softwaremaniacs.org/blog/2007/03/07/auto-one-to-one-field/ . Само будет создаваться при любом обращении.

aliens
И вторйо вопрос, как это все отобразить в админке, но не по отдельностям, а чтобы поля AdvAud были доступны из изменения/добавления Auditory?
Никак! Админка это относительно низкоуровневый интерфейс, и не стоит на него шибко расчитывать.
aliens
понятно. Спасибо )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB