0
私は小さなWebサイトのホストサービスを構築しています。ユーザーはWebサイトを作成してページを挿入できます。Djangoを使ってリレーションシップにユニークなフィールドを設定するにはどうすればいいですか?
だから私は、次のクラスを作成しました:
class Website(models.Model):
account = models.CharField(max_length=30, unique=True)
custom_domain = models.CharField(max_length=130, blank=True, unique=True) #optional
title = models.CharField(max_length=80)
class Page(models.Model):
website = models.ForeignKey(Website)
title = models.CharField(max_length=80)
slug = models.CharField(max_length=80, unique=True)
content = models.TextField()
私はウェブサイトやページクラス間の関係にフィールド「スラグ」はユニークな作りたいです。このようにして、2つのサイトは同じスラッグを持つページを持つことができます。このように:
http://mysite.com/website_1/contact_page
http://mysite.com/webiste_2/contact_page
ただし、フィールドオプション 'unique'はそのためのものです。
このような場合のヒントやベストプラクティスはありますか?
助けてくれてありがとう! –
問題ありません。 FYI:Djangoにはスラグモデルフィールドが組み込まれています:https://docs.djangoproject.com/ja/dev/ref/models/fields/#slugfield – sdolan
もう一度ありがとうございます!それはタイムリーだった。 –