Personnel
モデルのプロファイルモデルとして使用しているというモデルがありUser
ます。私のサイトのモデレーターは自分のアカウントを作成できますが、すべてのプロファイルフィールドに入力する必要があります。これが私のモデルです
class Personnel(models.Model):
"""
Model for storing the personnel information
"""
user = models.OneToOneField(
User
)
phone = models.CharField(
null=False, max_length=50, verbose_name="Phone"
)
address = models.CharField(
null=True, max_length=500, verbose_name="Address"
)
以下を実装する必要があります。
create
モデル上のメソッド。Personnel
誰かがメソッドPersonnel.objects.create(username, email, phone, address)
を呼び出すと、モデルに新しいユーザーが作成されUser
、プロファイルフィールドもモデルに保存されますPersonnel
。リクエストを処理するには、このフォームが必要ですが、このフォームは、モデルのフィールドとPersonnel
モデルの両方を検証する必要がありUser
ます。
delete
モデル上のメソッド。Personnel
誰かがメソッドPersonnel.objects.delete(username)
を呼び出すと、モデルからプロファイルが削除され、Personnel
モデルからユーザーが削除されますUser
。このためのフォームは必要ないと思います。
フォームビットとマネージャービットの作り方を教えてください。これが私がこれまでに持っているものです:
形:
?
マネジャー:
from django.db import models
from django.contrib.auth.models import User
class Personnel(models.Manager):
"""
This is the manager for the Personnel model. It contains the logic for
creating a new personnel which also creates a new User.
"""
def create(self, username, email, phone, address):
"""
Creates a new personnel
"""
pass
def delete(self, username):
"""
Deletes a personnel
"""
super(Personnel, self).delete()
どうもありがとう。