0
我是一個新的Django用戶,並且被一些繼承和實例化的特性所困惑,特別是創建一個用戶定義的類型類的字段。新的Django/python用戶有__init__問題我已經定義了幾個類,並且想用另一個類作爲另一個字段
當我嘗試從管理頁面添加藝術家,我得到 蟒蛇類型錯誤:初始化()失蹤5個所需的位置參數:「姓名」,「FIRST_NAME」,「姓氏」,「網站」和「 Instagram的」 [18 /月/ 2017年21點43分28秒] 「GET /管理/ showyourwork /藝術家/添加/ HTTP/1.1」 500 110559
from django.db import models
# Create your models here.
from django.db.models import ImageField
from django.urls import reverse
class Artist(models.Model):
# Fields
first_name = models.CharField(max_length=30, null=True)
last_name = models.CharField(max_length=30, null=True)
name = models. CharField(max_length=61, null=True)
website = models.CharField(max_length=50, null=True)
instagram = models.CharField(max_length=20, null=True)
# Metadata
class Meta:
ordering = ["last_name", "first_name"]
# Methods
def __init__(self, name, first_name, last_name, website, instagram):
self.name = name
self.first_name = first_name
self.last_name = last_name
self.website = website
self.instagram = instagram
def get_absolute_url(self):
"""
Returns the url to access a particular instance of MyModelName.
"""
return reverse('model-detail-view', args=[str(self.id)])
def __str__(self):
"""
String for representing the MyModelName object (in Admin site etc.)
"""
return self.name
class Media(models.Model):
# Fields
title = models.CharField(max_length=50)
artist = models.ForeignKey(Artist)
# Metadata
# class Meta:
# ordering = ["author", "title"]
# Methods
def __init__(self, title):
self.title = title
self.artist = Artist(None, None, None, None, None)
def get_absolute_url(self):
"""
Returns the url to access a particular instance of MyModelName.
"""
return reverse('model-detail-view', args=[str(self.id)])
def __str__(self):
"""
String for representing the MyModelName object (in Admin site etc.)
"""
return self.title
class Picture(Media):
# Fields inherits title and author from Media
image = ImageField()
# Metadata inherits from Media
# Methods
def __init__(self, *args, **kwargs):
self.image = kwargs.pop('image')
super(Media, self).__init__(*args, **kwargs)
class Series(Media):
# Fields inherits title and author from Media
images = []
# Metadata inherits from Media
# Methods
def __init__(self, *args, **kwargs):
self.images.append(kwargs.pop('image'))
super(Media, self).__init__(*args, **kwargs)
def addimage(self, image):
self.images.append(self, image)
任何幫助表示讚賞!
謝謝!現在我需要弄清楚如何處理這一系列圖片,這些圖片現在在向您致謝! –
在這種情況下,你不應該使用'ForeignKey'嗎? https://docs.djangoproject.com/en/1.11/topics/db/examples/many_to_one/ – henriquesg
是的,你肯定是在那裏!謝謝您的幫助。 –