【发布时间】:2021-12-10 16:17:03
【问题描述】:
我正在创建一个表单,但遇到了这个问题。
我在商业模式中有几家公司。每个企业都有自己的服务中服务模型。用户仅与一项业务相关联。 Business、Service 都有关系。
我的挑战
我有一份服务申请表。当我展示此服务请求模型表时,我只想显示客户/用户所属的 One Business 的服务。请帮助我这是怎么可能的。我认为这就像“实例=业务”。我明白事情没那么简单。
例如:Business1 将“汽车”和“摩托车”作为服务,而 Business2 将“指甲”和“Hair Spa”作为服务。如果来自 Business1 的用户登录并打开服务请求表,她/他应该在服务选择下拉菜单中只看到“汽车”和“摩托车”。
'''
# class Service(models.Model):
class Business(models.Model):
name = models.CharField(max_length=25)
description = models.CharField(max_length=100)
active = models.BooleanField(default=True)
class BusinessUser(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
business = models.ForeignKey(Business, on_delete=models.CASCADE, related_name='business')
class Services(models.Model):
business = models.ForeignKey(Business, on_delete=models.CASCADE, related_name='business_services')
name = models.CharField(max_length=15)
active = models.BooleanField(default=True)
class ServiceRequest(models.Model):
business = models.ForeignKey(Business, on_delete=models.DO_NOTHING)
service = models.ForeignKey(Service, on_delete=models.DO_NOTHING, blank=True)
requester_name = models.CharField(max_length=15)
class ServiceRequestForm(forms.ModelForm):
class Meta:
model = ServiceRequest
fields = '__all__'
def newServiceRequest(request): //the view
if request.method == 'GET':
user = request.user
business = user.business
serviceRequestForm = ServiceRequestForm(instance=business)
return render(request,'service.html', {'form':serviceRequestForm})
'''
【问题讨论】: