に私はこのようなベースモデルを持っています外部キーを作成するには、2つの異なるモデルが同じ名前のアカウントを持つことは大丈夫ですか?これを行うにはよりよい方法がありますか?関連の名前はベースモデルオブジェクト
EDIT:
逆の状況について何を:彼らは別のモデルを指しているので
class DeliverableFileAttachment(FileAttachment):
deliverable = models.ForeignKey(Deliverable, related_name='files')
class TaskItemFileAttachment(FileAttachment):
taskitem = models.ForeignKey(TaskItem, related_name='files')
関連の名前が同じであることはできますか?
それとも私がこのようなオブジェクトを持っていると言う:
class FileAttachment(models.Model):
author = models.ForeignKey(Account, related_name='files', default=None)
attached_file = models.FileField(upload_to=generate_image_upload_path, default=None)
limit = models.Q(app_label='workflow', model='project') | \
models.Q(app_label='workflow', model='taskitem') | \
models.Q(app_label='workflow', model='deliverable')
content_type = models.ForeignKey(
ContentType,
verbose_name=_('File Attachment'),
limit_choices_to=limit,
null=True,
blank=True,
related_name='files'
)
object_id = models.PositiveIntegerField(
verbose_name=_('related object'),
null=True,
)
content_object = GenericForeignKey('content_type', 'object_id')
はそれがオーサリングするrelated_nameとCONTENT_TYPEが同じであること大丈夫ですか?あなたがrelated_nameをハードコードが、このような何かをしてはならない抽象クラスで
これは達成しようとしていることに非常に依存します – e4c5
2つのモデルにアップロードを追加できるようにするには複数のアップロード。 – shenk
申し訳ありませんが、その声明は私にはあまり明確ではありません – e4c5