Tho*_*in9 1 django manytomanyfield
目前,我在我的 models.py 中设置了以下模型结构(精简):
class Admin(models.Model):
admin_name = models.CharField(unique = True, blank = False, null = False, max_length = 128, verbose_name = u'admin full name')
def __unicode__(self):
return self.admin_name
class Meta:
ordering = ('id',)
verbose_name = u'Admin Info'
class Project(models.Model):
client = models.ForeignKey(Client, verbose_name = u'Client')
description = models.ForeignKey(Description, verbose_name = u'project description')
admins = models.ManyToManyField(Admin, verbose_name = u'Administrators', through = 'Admin_Payment')
class Admin_Payment(models.Model):
admin = models.ForeignKey(Admin, verbose_name = u'Administrator')
project = models.ForeignKey(Project, verbose_name = u'project')
agreed_payment = models.DecimalField(max_digits = 16, decimal_places = 2, blank = True, default = 0)
Run Code Online (Sandbox Code Playgroud)
如您所见,我使用 Admin_Payment 作为中间表,在我的项目和管理员之间建立了许多关系。
我的问题是我如何才能使我的 Project 类可以使用同意的付款字段(在 Admin_Payment 类中)?
Djangoadmin_payment_set在 Project 对象中创建了一个属性,它是一个“相关管理器”。访问它的对象,例如使用“all()”。例如
p = Project.objects.get(pk=1)
paysets = p.admin_payment_set.all()
paysets[0].agreed_payment
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3695 次 |
| 最近记录: |