我创建了一个事件栏库存移动,因此我使用了以下模型:
class Evento(Model): #Event Model
class Meta:
verbose_name = _(u"Evento")
verbose_name_plural = _(u"Eventos")
autor = ForeignKey(User, null=True, blank=True)
titulo = CharField(max_length=200, verbose_name=_(u"Nome do Evento"))
#image = ImageField(upload_to=upload_to('event/', 'title'), null=True, blank=True, verbose_name=_(u"Imagem"), help_text=_(u"Imagem que aparecerá no bloco."))
#crop = CharField(choices=CORTE, max_length=200, null=True, blank=True, verbose_name=_(u"Cortar Imagem"), help_text=_(u"Selecione o ponto de referência para cortarmos a imagem."))
onde = CharField(max_length=200, verbose_name=_(u"Cidade"), help_text=_(u"Cidade do evento, exemplo. Uberlândia - MG"), null=True, blank=True)
telefone = CharField(max_length=200, verbose_name=_(u"Telefone de Contato"), null=True, blank=True)
contato = CharField(max_length=200, verbose_name=_(u"Nome do Contato"), null=True, blank=True)
inicio = DateField(help_text=_(u"Preencha com o dia exato do evento"), verbose_name=_(u"Dia do evento"), null=True, blank=True)
fim = DateField(null=True, blank=True, help_text=_(u"Preencha com o dia exato de término do evento"), verbose_name=_(u"Dia que acaba"),)
ativo = BooleanField(default=True, verbose_name=_(u"Ativo"))
slug = SlugField(verbose_name=_(u'Slug / URL'), blank=True, null=True)
def __unicode__(self): return u'%s'%self.titulo
class Cliente(Model): #Client Model (with card number)
class Meta:
verbose_name = _(u"Cliente")
verbose_name_plural = _(u"Clientes")
evento = ForeignKey(Evento, verbose_name=_(u"Evento"), help_text=_(u"A qual evento esse cliente pertence?"))
nome = CharField(max_length=200, verbose_name=_(u"Nome Completo"),)
cartao = IntegerField(verbose_name=_(u"Número do Cartão"))
telefone = CharField(max_length=200, verbose_name=_(u"Telefone de Contato"), help_text=_(u"Somente numeros, exemplo: 3488888888"))
rg = IntegerField(help_text=_(u"Preencha somente os números"), verbose_name=_(u"Número do RG"),)
ativo = BooleanField(default=True, verbose_name=_(u"Ativo"))
slug = SlugField(verbose_name=_(u'Slug / URL'), blank=True, null=True)
def __unicode__(self): return u'%s - %s (%s)'% (self.cartao, self.nome, self.evento.titulo)
def clean(self, *args, **kwargs):
cartoes = self.__class__.objects.filter(cartao=self.cartao, evento=self.evento)
if cartoes:
raise ValidationError('CARTÃO DUPLICADO, FAVOR VERIFICAR A NÚMERAÇÃO INSERIDA.')
super(Cliente, self).clean(*args, **kwargs)
class Produto(Model): #Product (with code number)
evento = ForeignKey(Evento, verbose_name=_(u"Evento"), help_text=_(u"Em qual evento esse produto será utilizado?"))
nome = CharField(max_length=200, verbose_name=_(u"Nome do Produto"),)
codigo = IntegerField(verbose_name=_(u"Código de Barras"), null=True, blank=True)
preco_custo = FloatField(verbose_name=_(u"Preço de Custo"))
preco_venda = FloatField(verbose_name=_(u"Preço de Venda"))
def __unicode__(self): return u'%s'%self.nome
TIPO_MOVIMENTACAO = (
(1, _(u'Saida de Produto')),
(2, _(u'Entrada de Produto')),
)
class Movimentacao(Model): #Movement (out/in)
class Meta:
verbose_name = _(u"Movimentação")
verbose_name_plural = _(u"Movimentações")
tipo = SmallIntegerField(choices=TIPO_MOVIMENTACAO, verbose_name=_(u"Tipo"), help_text=_(u"Entrada ou Saída"), default=1)
evento = ForeignKey(Evento, verbose_name=_(u"Evento"), help_text=_(u"Para qual evento essa movimentação está sendo feita?"))
cliente = ForeignKey(Cliente)
hora_movimentacao = DateTimeField(null=True, blank=True, default=datetime.now(), help_text=_(u"Data exata da movimentação"), verbose_name=_(u"Data da Movimentação"))
所以我是一个移动模型,我将插入Type(输入/输出),事件(因为它将处理超过1个事件),客户端卡号。
所以我正在做的是使用django-selectable来选择客户卡代码,无论如何我返回所有代码而不是evento,因此我意识到我需要选择&# 34;事件"对于每个模型页面,因为所有内容都链接到"事件" (客户,运动)。
然后,我的问题是:如何设置一个会影响所有模型选择的配置?例如,登录后我会选择" Iron Maiden Cover"然后,当我去运动时,它将被预选,对于所有带有"事件"的模型都是如此。领域。