2015-11-07 4 views
0

Я новичок в Django, и у меня есть следующая проблема. У меня есть внешний ключ, и я хочу установить значение для внешнего ключа с параметром url.Получить значение внешнего ключа с параметром 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

(r '^ cyc/presupuesto/nuevo/(? P /d +)/$', views.clientes_presupuesto_crear.as_view (model = Presupuesto, success_url = "/ crm/ok /")) И также вы должны изменить мнения в соответствии с вашими потребностями –

+0

Итак, в моих взглядах, которые я получил это: класс clientes_presupuesto_crear (CreateView): модель = Presupuesto form_class = forms.amPresupuestoForm template_name = 'clientes/presupuesto/nuevo.html' post_save_redirect = «/ crm/ok/' login_required = True def get_succes_url (self): return reverse (' presupuesto-lista ') Могу ли я изменить так, я мог бы получить cliente_id ??? –

ответ

0

Кажется, что вы используете общий подробный вид.

pk, указанный в URL-адресе, будет передан общей модели просмотра. так ...

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 объектов, относящихся к Cuenta объекта, указанного в URL.

+0

Я создаю представление –

Смежные вопросы