私は新しいdjangoユーザーです。特に、継承とインスタンス化のいくつかの機能ユーザー定義の型クラスのフィールドを作成します。新しいdjango/pythonユーザーには__init__の問題があります。私はいくつかのクラスを定義しました。あるクラスを別のクラスのフィールドとして使用したいです。
私は管理者ページからアーティストを追加しようとすると、私が得る Pythonの例外TypeError:のinit()5つの必要な位置引数不足している: '名前'、 'FIRST_NAME'、 'LAST_NAME'、 'ウェブサイトを'、および ' Instagramの」[18/7月/ 2017夜9時43分二十八秒] "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
もちろん間違いありません。助けてくれてありがとう。 –