Python学习:Django开发_03
发布日期:2021-04-30 21:04:49 浏览次数:97 分类:精选文章

本文共 3026 字,大约阅读时间需要 10 分钟。

Django?????????ORM

????/??

??

python manage.py runserver 0.0.0.0:80

????APP

python manage.py startapp sales

???????

python manage.py makemigrations common

???????

python manage.py migrate

???????

??????????????????????????????????????????????????????????????????????????????????????????

?????

????????????????????????????customer?????????????????

class Customer(models.Model):
name = models.CharField(max_length=200)
phonenumber = models.CharField(max_length=200)
address = models.CharField(max_length=200)
class Medicine(models.Model):
name = models.CharField(max_length=200)
sn = models.CharField(max_length=200)
desc = models.CharField(max_length=200)
class Order(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
create_date = models.DateTimeField(default=datetime.datetime.now)
customer = models.ForeignKey(Customer, on_delete=models.PROTECT)

?????

??????????????????????????????????

class Student(models.Model):
name = models.CharField(max_length=200)
classname = models.CharField(max_length=200)
desc = models.CharField(max_length=200)
class ContactAddress(models.Model):
student = models.OneToOneField(Student, on_delete=models.PROTECT)
homeaddress = models.CharField(max_length=200)
phone = models.CharField(max_length=200)

?????

????????????????????????

class Order(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
create_date = models.DateTimeField(default=datetime.datetime.now)
customer = models.ForeignKey(Customer, on_delete=models.PROTECT)
medicines = models.ManyToManyField(Medicine, through='OrderMedicine')
class OrderMedicine(models.Model):
order = models.ForeignKey(Order, on_delete=models.PROTECT)
medicine = models.ForeignKey(Medicine, on_delete=models.PROTECT)
amount = models.PositiveIntegerField()

ORM???????

?????????

s1 = Student.objects.get(name='??')
s1.country.name

?????????

Student.objects.filter(grade=1).values()

????

cn = Country.objects.get(name='??')
cn.student_set.all()

????

Country.objects.filter(students__grade=1).values()

??????

url????

urlpatterns = [
path('customers', customer.dispatcher),
path('medicines', medicine.dispatcher),
path('orders', order.dispatcher),
path('signin', sign_in_out.signin),
path('signout', sign_in_out.signout),
]

????

@transaction.atomic
def addorder(request):
info = request.params['data']
new_order = Order.objects.create(
name=info['name'],
customer_id=info['customerid']
)
batch = [
OrderMedicine(order_id=new_order.id, medicine_id=mid, amount=1)
for mid in info['medicineids']
]
OrderMedicine.objects.bulk_create(batch)
return JsonResponse({'ret': 0, 'id': new_order.id})

????

def listorder(request):
qs = Order.objects.values('id', 'name', 'create_date', 'customer__name', 'medicines__name')
retlist = list(qs)
return JsonResponse({'ret': 0, 'retlist': retlist})

????????????????????????Django??????????ORM???

上一篇:javaBean在jsp页面的使用
下一篇:SpringCloud之Ribbon

发表评论

最新留言

感谢大佬
[***.8.128.20]2026年06月04日 04时15分24秒