ทำไมถึงเกิด AttributeError: 'NonType' object has no attribute 'medlist'

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

penrudee
PHP Newbie
PHP Newbie
โพสต์: 6
ลงทะเบียนเมื่อ: 19/04/2020 7:52 am

ทำไมถึงเกิด AttributeError: 'NonType' object has no attribute 'medlist'

โพสต์ที่ยังไม่ได้อ่าน โดย penrudee »

กำลังศึกษา code จาก https://github.com/penrudee/Inventory-Manager แต่พอลองดัดแปลง code ก็เกิด error ดังภาพครับ ตรวจสอบอยู่จนล้าไปหมดแล้วยังหาไม่เจอครับว่าพลาดตรงใหน รบกวนท่านผู้รู้ช่วยหน่อยได้ใหมครับ

รูปภาพ

model.py

โค้ด: เลือกทั้งหมด

class MedList(db.Model):
    m_id = db.Column(db.Integer, primary_key=True)
    medlist = db.Column(db.String(200), nullable = False)
    medlist = db.Column(db.String(200),unique = True, nullable = False)
    med_unit = db.Column(db.Integer)
    med_howToUse = db.Column(db.String(200))
    med_disease = db.Column(db.String(200))
    timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    complete = db.Column(db.Boolean)
    
    
    def __repr__(self):
        return f"MedList('{self.m_id}','{self.medlist}','{self.med_howToUse}','{self.med_disease}')"
form.py

โค้ด: เลือกทั้งหมด

    class adddrug(FlaskForm):
    	drugname = StringField('Add Drug Name')
   	drugDisease = StringField('Disease')
   	drugHowToUse = StringField('Dosage')
        drugsubmit = SubmitField('Save Add Change')
    
    class editdrug(FlaskForm):
    	editname = StringField('Edit Drug Name')
    	editDisease = StringField('Disease')
    	editHowToUse = StringField('Dosage')
    	editsubmit = SubmitField('Save Edit Change')
    
   
route.py

โค้ด: เลือกทั้งหมด

@app.route('/drug',methods=['GET','POST'])
    def drug():
      form = adddrug()
      eform = editdrug()
      details = MedList.query.all()
      exists = bool(MedList.query.all())
      if exists == False and request.method == 'GET':
            flash(f'Add drug to view','info')
      
     elif eform.validate_on_submit() and request.method == 'POST':
        d_id = request.form.get("drugid","")
        d_name = request.form.get("drugnamess","")
        details = MedList.query.all()
        drugss = MedList.query.filter_by(m_id = d_id).first()
        drugss.medlist = eform.editname.data
        drugss.med_disease = eform.editDisease.data
        drugss.med_howToUse = eform.editHowToUse.data
        try:
            db.session.commit()
            flash(f'Your drug list has been updated!','success')
            return redirect('/drug')
        except IntegrityError:
            db.session.rollback()
            flash(f'This drug already exists', 'danger')
            return redirect('/drug')
       elif form.validate_on_submit()  and request.method == 'POST':
            druglist = MedList(medlist = form.drugname.data, med_disease = form.drugDisease.data, 
            med_howToUse = form.drugHowToUse.data)
            db.session.add(druglist)
          try:
            db.session.commit()
            flash(f'Your drug {form.drugname.data} has been added!', 'success')
            return redirect(url_for('drug'))
          except IntegrityError:
            db.session.rollback()
            flash(f'This drug already exists','danger')
            return redirect('/drug') 
      return render_template('drug.html',title='Drug List',details=details,eform=eform)
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41348
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ทำไมถึงเกิด AttributeError: 'NonType' object has no attribute 'medlist'

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ตอน Error เรียกใช้ url อะไรครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 73