【发布时间】:2020-05-23 01:06:26
【问题描述】:
我正在使用 Django 创建我的第一个应用程序,还有很多东西要学,但现在我完全陷入困境,需要一些帮助。我有一个客户和票的模型。我有它,所以不同的用户可以保存新客户/票证,并且只有在登录后才能从仪表板查看他们的数据。但是,在创建新票证时,有一个下拉选项可以为票证选择客户 - 当前用户能够看到每一位用户的客户。
这是代码,如果需要,我会分享更多代码,但我认为这涵盖了我正在做的事情......
forms.py
class TicketForm(ModelForm):
class Meta:
model = Ticket
fields = ['number', 'customer','date_created','work_description','mechanics','status']
views.py
def createTickets(request):
form = TicketForm()
if request.method == 'POST':
form = TicketForm(request.POST)
if form.is_valid():
newticket = form.save(commit=False)
newticket.shopowner = request.user
newticket.save()
return redirect('tickets')
context = {
'form': form
}
return render(request, 'createticket.html', context)
models.py
class Ticket(models.Model):
def default_number():
no = Ticket.objects.count()
return no + 1
shopowner = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
number = models.CharField(max_length=30, unique=True, default= default_number)
customer = models.ForeignKey(Customer, default=1, on_delete= models.SET_DEFAULT, blank=True)
date_created = models.DateField(default=timezone.now)
work_description = models.TextField(verbose_name="Service Details: ")
mechanics = models.ForeignKey(Mechanic, default=1, on_delete=models.DO_NOTHING, blank=True, verbose_name="Mechanic")
status = models.BooleanField(default=True, verbose_name="Open Ticket")
class Meta:
verbose_name_plural = "Tickets"
我需要 Customer 外键来仅显示当前用户(或“店主”)的客户 - 机械师和最终车辆也是如此,但一旦我知道如何获取客户输入以显示正确的数据,我就可以弄清楚这些.
【问题讨论】: