Я новичок в Django и программировании в целом. Я пытаюсь сделать простой сайт, который позволяет игрокам спорта зарегистрироваться для лиг, которые были созданы администратором. В моем models.py я создал две модели:отношение моделей друг к другу с использованием общих представлений
from django.db import models
from django.forms import ModelForm
class League(models.Model):
league_name = models.CharField(max_length=100)
pub_date = models.DateTimeField('date published')
class Info(models.Model):
league = models.ManyToManyField(League)
name = models.CharField(max_length=50)
phone = models.IntegerField()
email = models.EmailField()
def __unicode__(self):
return self.info
class InfoForm (ModelForm):
class Meta:
model = Info
exclude = ('league')
Из того, что я прочитал, я, вероятно, могу использовать Create/Update/Delete общих представлений для отображения формы для пользователя, чтобы подписаться на лигу , Поэтому с моим приложением я хочу, чтобы пользователь зашел на простую домашнюю страницу, в которой перечислены лиги, можно нажать на лигу и ввести свою информацию для регистрации. Вот что мой URLconf выглядит следующим образом:
from django.conf.urls.defaults import *
from mysite.player_info.models import League, Info, InfoForm
info_dict = {
'queryset': League.objects.all(),
}
InfoForm = {'form_class' : InfoForm}
urlpatterns = patterns('',
(r'^$', 'django.views.generic.list_detail.object_list', info_dict),
(r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', info_dict),
url(r'^(?P<object_id>\d+)/results/$', 'django.views.generic.list_detail.object_detail', dict(info_dict, template_name='player_info/results.html'), 'league_results'),
(r'^(?P<object_id>\d+)/info/create/$', 'django.views.generic.create_update.create_object', InfoForm),
)
Вот моя проблема: Когда я нажимаю на лиге, чтобы подписаться на на домашней странице с моей текущей настройки, я получаю эту ошибку: TypeError at /league/1/info/create.... create_object() got an unexpected keyword argument 'object_id'
. Что я делаю не так?