12 Ocak 2010, Salı
Tek bir ana sayfaya iki sayfa kumdan kaleyi tarafından oluşturulan birleştirmek mümkün mü?
Projede her sınıf için, kumdan yaptığın kale (diğerleri arasında) iki sayfa oluşturur:
- Ana Sayfa, açıklama, Sözdizimi, Kalıtım Hiyerarşisi
T_class_full_name
) olarak adlandırılan ve Ayrıca Bkz - Üyeler sayfa, Yapıcılar, Yöntemleri, Alanlar, vb ile* *6, denir.
Bir şekilde bu iki birlikte members page
ana sayfaya eklenmiş olması ile birleştirme var mı?
CEVAP
6 Mart 2013, ÇARŞAMBA
Kafamda bazı günler kırdıktan sonra, AYNI BANKA Yabancı anahtarımı almayı başardım!
Farklı bir bankada FORM üzerinde bir değişiklik YABANCI bir ANAHTAR aramak için yapılabilir!
İlk olarak, ALANLARI, hem doğrudan (çatlak) benim form, fonksiyon bir ŞARJ ekleyin_ınit_
app.form.py
# -*- coding: utf-8 -*-
from django import forms
import datetime
from app_ti_helpdesk import models as mdp
#classe para formulario de Novo HelpDesk
class FormNewHelpDesk(forms.ModelForm):
class Meta:
model = mdp.TblHelpDesk
fields = (
"problema_alegado",
"cod_direcionacao",
"data_prevista",
"hora_prevista",
"atendimento_relacionado_a",
"status",
"cod_usuario",
)
def __init__(self, *args, **kwargs):
#-------------------------------------
# using remove of kwargs
#-------------------------------------
db = kwargs.pop("using", None)
# CASE use Unique Keys
self.Meta.model.db = db
super(FormNewHelpDesk, self).__init__(*args,**kwargs)
#-------------------------------------
# recreates the fields manually
from copy import deepcopy
self.fields = deepcopy( forms.fields_for_model( self.Meta.model, self.Meta.fields, using=db ) )
#
#-------------------------------------
#### follows the standard template customization, if necessary
self.fields['problema_alegado'].widget.attrs['rows'] = 3
self.fields['problema_alegado'].widget.attrs['cols'] = 22
self.fields['problema_alegado'].required = True
self.fields['problema_alegado'].error_messages={'required': 'Necessário informar o motivo da solicitação de ajuda!'}
self.fields['data_prevista'].widget.attrs['class'] = 'calendario'
self.fields['data_prevista'].initial = (datetime.timedelta(4) datetime.datetime.now().date()).strftime("%Y-%m-%d")
self.fields['hora_prevista'].widget.attrs['class'] = 'hora'
self.fields['hora_prevista'].initial =datetime.datetime.now().time().strftime("%H:%M")
self.fields['status'].initial = '0' #aberto
self.fields['status'].widget.attrs['disabled'] = True
self.fields['atendimento_relacionado_a'].initial = '07'
self.fields['cod_direcionacao'].required = True
self.fields['cod_direcionacao'].label = "Direcionado a"
self.fields['cod_direcionacao'].initial = '2'
self.fields['cod_direcionacao'].error_messages={'required': 'Necessário informar para quem é direcionado a ajuda!'}
self.fields['cod_usuario'].widget = forms.HiddenInput()
görünümünden Form arama
app.view.py
form = forms.FormNewHelpDesk(request.POST or None, using=banco)
Şimdi, kaynak kodunda değişiklik DJANGO
Yazın ForeignKey, ManyToManyField ve OneToOneField sadece alanları kullanma', yani bir ilave ... kullanabilirsiniz
django.forms.models.py
# line - 133: add using=None
def fields_for_model(model, fields=None, exclude=None, widgets=None, formfield_callback=None, using=None):
# line - 159
if formfield_callback is None:
#----------------------------------------------------
from django.db.models.fields.related import (ForeignKey, ManyToManyField, OneToOneField)
if type(f) in (ForeignKey, ManyToManyField, OneToOneField):
kwargs['using'] = using
formfield = f.formfield(**kwargs)
#----------------------------------------------------
elif not callable(formfield_callback):
raise TypeError('formfield_callback must be a function or callable')
else:
formfield = formfield_callback(f, **kwargs)
DOSYA TAKİP DEĞİŞTİREBİLİR
django.db.models.base.py
alter
# line 717
qs = model_class._default_manager.filter(**lookup_kwargs)
için
# line 717
qs = model_class._default_manager.using(getattr(self, 'db', None)).filter(**lookup_kwargs)
Hazır :D
Bunu Paylaş:
Nasıl'oluşturulan kumdan kaleyi d...
Bölümler ilk harfi tarafından oluşturu...
XML Trafo tarafından Oluşturulan Girin...
Bu n ve bin klasörleri (Visual Studio ...
nasıl Gıt görmezden yapmak için .fikir...