错误
django.db.utils.IntegrityError: (1452, 'Cannot add or update a child
row: a foreign key constraint fails (django_apollo.jobs_job_users,
CONSTRAINT jobs_job_users_jobs_id_2172345a_fk_jobs_id FOREIGN KEY
(jobs_id) REFERENCES jobs (id))')
views.py
# Ajax
@login_required
def AjaxClockJobCreate(request, user_id):
form = JobFormInClock(request.POST, instance=User.objects.get(id=user_id))
user11 = get_object_or_404(User, pk=user_id)
print('printing', user11.id)
if request.method == "POST" and request.is_ajax() and form.is_valid():
form.instance.job_start_date = datetime.datetime.now()
form.instance.job_start_time = datetime.datetime.now()
form.instance.job_end_date = datetime.datetime.now() + datetime.timedelta(days=1)
form.instance.job_end_time = datetime.datetime.now() + datetime.timedelta(hours=15)
form.instance.job_created_on = datetime.datetime.now()
form.instance.job_updated_on = datetime.datetime.now()
form.instance.job_status = 'Active'
form.instance.job_company = request.user.userprofile.user_company
form.instance.job_created_by = request.user
form.instance.job_updated_by = request.user
form.save()
form.instance.user_jobs.add(user11.id) # ManyToManyField
lastest_entry = Jobs.objects.latest('id')
data = {
'job_value': lastest_entry.id,
'job_name': lastest_entry.job_name,
'error_message': 'Could not enter job.'
}
return JsonResponse(data)
models.py
class Jobs(models.Model):
job_company = models.ForeignKey(Company, on_delete=models.CASCADE)
job_group = models.ForeignKey(Groups, on_delete=models.CASCADE)
job_users = models.ManyToManyField(User,related_name='user_jobs', blank=True)
job_name = models.CharField(max_length=30)
job_number = models.CharField(max_length=30)
job_description = models.CharField(max_length=100, blank=True, null=True)
job_start_date = models.DateField(blank=True, null=True)
job_start_time = models.TimeField(blank=True, null=True)
job_end_date = models.DateField(blank=True, null=True)
job_end_time = models.TimeField(blank=True, null=True)
job_created_on = models.DateTimeField(auto_now_add=True)
job_created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='job_created_bys')
job_updated_on = models.DateTimeField(auto_now=True)
job_updated_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name='job_updated_bys')
job_is_deleted = models.BooleanField(default=False)
job_deleted_at = models.DateTimeField(blank=True, null=True)
ACTIVE = 'Active'
INACTIVE = 'Inactive'
JOB_ACTIVE_CHOICES = (
(ACTIVE, 'Active'),
(INACTIVE, 'Inactive'),
)
job_status = models.CharField(
max_length=8,
choices=JOB_ACTIVE_CHOICES,
default=INACTIVE,
)
class Meta:
db_table = "jobs"
def __str__(self) :
return self.job_name
答案 0 :(得分:0)
我发现了错误,这不是保存表单和实例,所以我创建了Jobs实例,然后保存了。这是我的代码
'use strict';
let obj, method;
obj = {
go: function() { alert(this); }
};
obj.go();
(obj.go)();
(method = obj.go)();
(obj.go || obj.stop)();