我是Django的新手,我有下一个问题。我有一个外键,我想用url参数设置外键的值。
例如:
在urls.py
(r'^cyc/presupuesto/nuevo/(?P<pk>/d+)/$', views.clientes_presupuesto_crear.as_view(model=Presupuesto, success_url="/crm/ok/"))
在clientes / models.py
中class Presupuesto(models.Model):
ESTADO_CHOICES = (('P', 'En Proceso'),('A', 'Aceptado'),('R', 'Rechazado'))
cliente = models.ForeignKey(Cuenta,blank=True, null=True)
当我进入mysite.com/cyc/presupuesto/nuevo/883时我想要那个 外键中设置的值为883。
有人有想法吗?
抱歉我的英语不好。
答案 0 :(得分:0)
您似乎正在使用通用详细信息视图。
在网址中传递的pk
将传递给通用视图模型。所以...
from django.views.generic import DetailView
from .models import Presupuesto, Cuenta
class CuentaDetail(DetailView):
model = Cuenta
template_name = 'cuenta/detail.html'
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(CuentaDetail, self).get_context_data(**kwargs)
# Get Presupuesto object and pass it to context
context['obj_presupuestos'] = self.get_object().presupuesto_set.all()
return context
这将填充传递给模板的上下文,其中所有Presupuesto
个对象引用URL中指定的Cuenta
对象。